$file) { $config_file = dirname($file)."/config.json"; $config_string = file_get_contents($config_file); $elected_file = dirname($file)."/candidates-elected.csv"; if ($config_string !== FALSE) { $config = json_decode($config_string, true); } else { error_log("Error opening config.json."); exit(1); } $elected_data = []; if (file_exists($elected_file)) { if (($elected_handle = fopen($elected_file, "r")) !== FALSE) { $headers = fgetcsv($elected_handle); while (($data = fgetcsv($elected_handle)) !== FALSE) { $candidate = []; foreach ($headers as $key => $value) { $candidate[$value] = $data[$key]; } $name_slug = trim_sluggify($candidate['Candidate Name']); $elected_data[$name_slug] = $candidate; } } else { error_log('Error opening candidates file'); exit(1); } } if (($handle = fopen($file, "r")) !== FALSE) { $headers = fgetcsv($handle); while (($data = fgetcsv($handle)) !== FALSE) { $candidate = []; $candidate['Pledge'] = 'n'; $candidate['Picture'] = ""; if (is_array($default_image)) { $candidate['image_url'] = $default_image['url']; $candidate['image_id'] = $default_image['id']; } else { $candidate['image_url'] = ""; $candidate['image_id'] = ""; } foreach ($headers as $key => $value) { $candidate[$value] = $data[$key]; } $name_slug = trim_sluggify($candidate['Candidate Name']); if (array_key_exists($name_slug, $candidate_data)) { if ($candidate_data[$name_slug]['Pledge'] === 'y') { $candidate['Pledge'] = 'y'; } } if (!empty($elected_data) && array_key_exists($name_slug, $elected_data)) { $candidate['Elected'] = $elected_data[$name_slug]['Elected']; } $candidate['Council'] = $config['councilName']; $candidate['Path'] = dirname($file); $media_desc = $candidate['Path']."/". $candidate['Picture'].".json"; if (file_exists($media_desc)) { $media_string = file_get_contents($media_desc); if ($media_string !== FALSE) { $media = json_decode($media_string, true); } else { error_log("Error opening image descriptor."); exit(1); } /* Get photo URL and ID */ $candidate['image_url'] = $media['url']; $candidate['image_id'] = $media['id']; } $candidate_data[$name_slug] = $candidate; } fclose($handle); } else { error_log('Error opening candidates file'); exit(1); } /* Override pledge columns if pledges.csv is present */ $pledges_file = dirname($file)."/pledges.csv"; if (!file_exists($pledges_file)) continue; if (($handle = fopen($pledges_file, "r")) !== FALSE) { $headers = fgetcsv($handle); while (($data = fgetcsv($handle)) !== FALSE) { $candidate = []; foreach ($headers as $key => $value) { $candidate[$value] = $data[$key]; } $candidate_data[trim_sluggify($candidate['Candidate Name'])]['Pledge'] = $candidate['Pledge']; } fclose($handle); } else { error_log('Error opening pledges file'); exit(1); } } return $candidate_data; }