* Function: This script uses a combination of the Cambridge University Fitzwilliam Museum API (to query for a list of responses) and * screen scraping to parse coin type reference numbers and measurements in order to generate Nomisma-compliant RDF *****/ //set user agent ini_set('user_agent', 'Nomisma.org/PHP Harvesting'); //array of queries $queries = array('crro' => 'coin AND "Roman Republic"', 'pella' => '"Alexander III" AND coin'); $project = 'pella'; $api = 'http://data.fitzmuseum.cam.ac.uk/api/?'; $params = array('query' => $queries[$project], 'size' => 100, 'from' => 0); $records = array(); $coinTypes = array(); parse_response($api, $params); //var_dump($records); //after the API pages have been parsed, then process the resulting records array into Nomisma-conformant RDF generate_csv($records, $project); generate_rdf($records, $project); function parse_response($api, $params) { global $records; $page = $params['from'] / $params['size'] + 1; echo "Page {$page}\n"; //compare the individual request parameters into k=>v pairs to the URL $qparams = array(); foreach ($params as $k => $v) { $qparams[] = "{$k}=" . urlencode($v); } $service = $api . implode('&', $qparams); //request JSON from API $json = file_get_contents($service); $data = json_decode($json);
echo $req; } elseif ($csv == 1) { generate_csv($req, "Filiere", "Puissance installée"); } else { generate_json($req, 3); } } } ############################################################################### # JSON MOT_EV_CONSO ############################################################################### array_push($json['ELECT_VEHICLE'], "mot_ev_conso"); if ($type == "mot_ev_conso") { if ($help == 1 or $id === null) { echo '<b>MANUEL MOT_EV_CONSO</b><br>'; echo '<b>OBJECTIF</b> : Fo <br> '; echo '<b>INPUT</b> : i<br>'; echo '<b>OUTPUT</b> : <br>'; } else { $req = 'select conso from mot_conso_maille where id_maille=' . $id . ''; if ($sql == 1) { echo $req; } elseif ($csv == 1) { generate_csv($req, "Filiere", "Puissance installée"); } else { generate_json($req, 1); } } }
$temparray['days inactive'] = get_user_timeinactive($user->id); $user_data[$array_count] = $temparray; $tot_diff->add($timeontask_int); $array_count++; } unset($user); $tot_seconds = $tot_diff->getTimestamp() - $tot_start->getTimestamp(); $avg_seconds = $tot_seconds / sizeof($users); switch ($type) { case "csv": header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=report.csv"); header("Pragma: no-cache"); header("Expires: 0"); //echo generate_csv($user_data,"id",false); echo generate_csv($user_data, "id"); echo "Total Records," . sizeof($users) . PHP_EOL; echo "Total Time on Task," . gmdate("H:i:s", $avg_seconds) . PHP_EOL; break; default: $PAGE->set_url('/report/ae_reports/timeontask.php'); $PAGE->requires->css($cssurl); $PAGE->requires->js($tablejsurl); $PAGE->requires->js($accjsurl); $PAGE->set_context(context_system::instance()); $PAGE->set_pagelayout('standard'); $PAGE->set_title($page_title); $PAGE->set_heading($page_heading); $PAGE->navbar->add("AE Reports", $index_url); $PAGE->navbar->add("Time on Task", $this_url); echo $OUTPUT->header();
/** * Create logins by institution table for the site statistics page * * @param int $limit Limit results * @param int $offset Starting offset * @param string $sort DB Column to sort by * @param string/int $sortdesc The direction to sort the $sort column by * @param string $start The start date to filter results by - format 'YYYY-MM-DD HH:MM:SS' * @param string $end The end date to filter results by - format 'YYYY-MM-DD HH:MM:SS' * * @results array Results containing the html / pagination data */ function institution_logins_stats_table($limit, $offset, $sort, $sortdesc, $start, $end) { global $USER; $rawdata = users_active_data(null, null, $sort, $sortdesc, $start, $end); $count = $rawdata ? count($rawdata) : 0; $pagination = build_pagination(array('id' => 'stats_pagination', 'url' => get_config('wwwroot') . 'admin/statistics.php?type=logins&start=' . date('Y-m-d', strtotime($start)) . '&end=' . date('Y-m-d', strtotime($end)), 'jsonscript' => 'admin/statistics.json.php', 'datatable' => 'statistics_table', 'count' => $count, 'limit' => $limit, 'offset' => $offset, 'setlimit' => true)); $result = array('count' => $count, 'tablerows' => '', 'pagination' => $pagination['html'], 'pagination_js' => $pagination['javascript']); if ($count < 1) { return $result; } $csvfields = array('name', 'displayname', 'count_logins', 'count_active'); $USER->set_download_file(generate_csv($rawdata, $csvfields), 'userloginstatistics.csv', 'text/csv'); $result['csv'] = true; $data = array_slice($rawdata, $offset, $limit); $smarty = smarty_core(); $smarty->assign('data', $data); $result['tablerows'] = $smarty->fetch('admin/userloginsummary.tpl'); return $result; }
@mkdir($tmp_zip_dir); // zip module $zip = new ZipArchive(); $zipname = $dir_name . '.zip'; $zip_path = $tmp_zip_dir . $zipname; $filenames = array(); if (!file_exists($zip_path)) { if ($zip->open($zip_path, ZipArchive::CREATE) !== TRUE) { die('cannot open zipobj'); } $filenames = array(); $start = 1; if ($year == date('Y')) { $start = date('m'); } foreach (range($start, 12) as $m) { $csv = generate_csv($univ_id, $user_id, $year, $m, $room, substr($room, 0, 3), $teacher); $filename = "{$dir_name}/demand_{$year}_{$m}_{$user_id}_{$lab}.CSV"; $tmpfilename = $tmp_zip_dir . $m . '.CSV'; $filenames[] = $tmpfilename; file_put_contents($tmpfilename, $csv); $zip->addFile($tmpfilename, $filename); } $zip->close(); } header('Pragma: public'); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=" . $zipname); readfile($zip_path); } //@rmdir($tmp_zip_dir);
add_query(); break; case 'edit_query': edit_query(); break; case 'db_tables': db_tables(); break; case 'show_stats': show_stats(); break; case 'generate_xml': generate_xml(); break; case 'generate_csv': generate_csv(); break; case 'paypal_info': paypal_info(); break; case 'default': setdefault(); break; case 'product_option': product_option(); break; case 'preview': preview_formmaker(); break; case 'edit_css': edit_css();
function institution_comparison_stats_table($limit, $offset, $sort, $sortdesc) { global $USER; $count = count_records_sql("SELECT COUNT(DISTINCT institution)\n FROM {institution_registration}"); $pagination = build_pagination(array('id' => 'stats_pagination', 'url' => get_config('wwwroot') . 'admin/statistics.php?type=institutions', 'jsonscript' => 'admin/statistics.json.php', 'datatable' => 'statistics_table', 'count' => $count, 'limit' => $limit, 'offset' => $offset, 'extradata' => array('sort' => $sort, 'sortdesc' => $sortdesc), 'setlimit' => true)); $result = array('count' => $count, 'tablerows' => '', 'pagination' => $pagination['html'], 'pagination_js' => $pagination['javascript']); if ($count < 1) { return $result; } if ($sort == 'displayname') { if (is_postgres()) { $institutions = get_records_sql_array("SELECT tmp.id, tmp.institution AS name, i.displayname\n FROM (SELECT DISTINCT ON (institution)\n id, institution\n FROM {institution_registration}\n ORDER BY institution, time DESC\n ) tmp\n JOIN {institution} i ON (tmp.institution = i.name)\n ORDER BY i.displayname " . ($sortdesc ? 'DESC' : 'ASC') . "\n LIMIT ? OFFSET ?", array($limit, $offset)); } else { $institutions = get_records_sql_array("SELECT tmp.id, tmp.institution AS name, i.displayname\n FROM (SELECT ir.id, ir.institution\n FROM {institution_registration} ir\n JOIN (SELECT institution, MAX(time) AS time\n FROM {institution_registration}\n GROUP BY institution\n ) inn ON (inn.institution = ir.institution AND inn.time = ir.time)\n ) tmp\n JOIN {institution} i ON (tmp.institution = i.name)\n ORDER BY i.displayname " . ($sortdesc ? 'DESC' : 'ASC') . "\n LIMIT ? OFFSET ?", array($limit, $offset)); } } else { if (is_postgres()) { $institutions = get_records_sql_array("SELECT tmp.id, tmp.institution AS name, i.displayname\n FROM (SELECT DISTINCT ON (ir.institution)\n ir.id, ir.institution, ird.value\n FROM {institution_registration} ir\n JOIN {institution_registration_data} ird ON (ir.id = ird.registration_id)\n WHERE ird.field = ?\n ORDER BY ir.institution, ir.time DESC\n ) tmp\n JOIN {institution} i ON (tmp.institution = i.name)\n ORDER BY tmp.value::int " . ($sortdesc ? 'DESC' : 'ASC') . "\n LIMIT ? OFFSET ?", array($sort, $limit, $offset)); } else { $institutions = get_records_sql_array("SELECT tmp.id, tmp.institution AS name, i.displayname\n FROM (SELECT ir.id, ir.institution, ird.value\n FROM {institution_registration} ir\n JOIN (SELECT institution, MAX(time) AS time\n FROM {institution_registration}\n GROUP BY institution\n ) inn ON (inn.institution = ir.institution AND inn.time = ir.time)\n JOIN {institution_registration_data} ird ON (ir.id = ird.registration_id)\n WHERE ird.field = ?\n ) tmp\n JOIN {institution} i ON (tmp.institution = i.name)\n ORDER BY (tmp.value + 0) " . ($sortdesc ? 'DESC' : 'ASC') . "\n LIMIT ? OFFSET ?", array($sort, $limit, $offset)); } } $registrationdata = array(); foreach ($institutions as $i) { $d = new StdClass(); $d->name = $i->name; $d->displayname = $i->displayname; $current = get_records_select_array('institution_registration_data', 'registration_id = ? AND field IN (?, ?, ?, ? ,?)', array($i->id, 'count_members', 'count_views', 'count_blocks', 'count_artefacts', 'count_interaction_forum_post'), '', 'field, value'); foreach ($current as $data) { $d->{$data->field} = $data->value; } $registrationdata[] = $d; } $csvfields = array('name', 'count_members', 'count_views', 'count_blocks', 'count_artefacts', 'count_interaction_forum_post'); $USER->set_download_file(generate_csv($registrationdata, $csvfields), 'institutionstatistics.csv', 'text/csv'); $result['csv'] = true; $smarty = smarty_core(); $smarty->assign('data', $registrationdata); $smarty->assign('offset', $offset); $result['tablerows'] = $smarty->fetch('admin/comparisonstats.tpl'); return $result; }
lat as latprod, lon as lonprod FROM sialab.ref_eld WHERE id = "' . $idprod . '" ) tableplic cross join (SELECT id as ID_comparaison, nom, statut, ville, dept, nb_hab, dette, cap_autof, dette_sur_caf, nb_year, commune, clients, website, code_postal, ville_insee, lat,lon from sialab.ref_eld WHERE id <> "' . $idprod . '" ) as producteurs )A ORDER BY distanceab asc limit ' . $param . '; '; if ($sql == 1) { echo $req; } elseif ($csv == 1) { generate_csv($req, "ID_producteur", "nom centrale", "Filiere", "code postal", "puissance", "date raccordement", "date resiliation", "latitude", "longitude", "PINST", "PS"); } else { generate_json($req, 3); } } }
$csv_record['instructor'] = $row[2]; $csv_record['credits'] = $row[3]; $csv_record['grade_percent'] = $row[4]; $csv_record['grade_letter'] = $row[5]; $csv_array[] = $csv_record; } $userlisthtml .= '<br /><span style="font-size:1.5em;font-weight:bold">' . $mhr_user->getFullNameString() . ' (' . $mhr_user->getObject()->email . ')</span><br /><br />'; $record_count = $course_history_table->getTotal('record_count'); if ($record_count > 0) { $userlisthtml .= $course_history_table->getHTML(); } else { $userlisthtml .= 'No Records To Display<br />'; } } $csvfields = array('username', 'start_date', 'course', 'enrol_date', 'catalog', 'platform', 'instructor', 'credits', 'grade_percent', 'grade_letter'); $USER->set_download_file(generate_csv($csv_array, $csvfields), 'coursehistory.csv', 'text/csv'); $csv = true; } } else { if ($selected == 'accesslist') { require_once get_config('libroot') . 'view.php'; $accesslists = View::get_accesslists(array_keys($users)); foreach ($accesslists['collections'] as $k => $c) { if (!isset($users[$c['owner']]->collections)) { $users[$c['owner']]->collections = array(); } $users[$c['owner']]->collections[$k] = $c; } foreach ($accesslists['views'] as $k => $v) { if (!isset($users[$v['owner']]->views)) { $users[$v['owner']]->views = array();
<?php $page = 1; $apiKey = 'a864ed30-fccd-11e5-aaaa-2d4ec69062d0'; $records = array(); //parse each page of the API call parse_page($page, $apiKey); //following the parsing of each page, construct CSV; //generate exports generate_csv($records); generate_rdf($records); /********* FUNCTIONS **********/ function parse_page($page, $apiKey) { global $records; echo "Page {$page}\n"; $query = '(standardreferencenumber:RRC+OR+standardreferencenumber:RIC+OR+standardreferencenumber:Price)'; //$query = '"RIC+IX,+p.+235,+88b(1)"'; $service = 'http://api.harvardartmuseums.org/object?size=100&classification=Coins&q=' . $query . '+AND+department:"Department%20of%20Ancient%20and%20Byzantine%20Art%20%26%20Numismatics"&apikey=' . $apiKey . '&page=' . $page; $json = file_get_contents($service); $data = json_decode($json); foreach ($data->records as $record) { $references = explode(';', $record->standardreferencenumber); foreach ($references as $reference) { if (preg_match('/RRC/', $reference)) { $num = explode(' ', $reference); $row = array(); //generate record metadata array $row = construct_metadata($record); $row['reference'] = $reference; //ignore uncertain coins
<?php /** * * @package mahara * @subpackage admin * @author Catalyst IT Ltd * @license http://www.gnu.org/copyleft/gpl.html GNU GPL version 3 or later * @copyright For copyright information on Mahara, please see the README file distributed with this software. * */ define('INTERNAL', 1); define('ADMIN', 1); define('INSTITUTIONALADMIN', 1); require dirname(dirname(dirname(__FILE__))) . '/init.php'; require_once 'searchlib.php'; $search = (object) array('query' => '', 'sortby' => 'firstname', 'sortdir' => 'asc', 'archivedsubmissions' => true); $search->institution = param_alphanum('institution', null); if (!empty($search->institution)) { if (!$USER->get('admin') && !$USER->is_institutional_admin($search->institution)) { throw new AccessDeniedException(); } } $results = get_admin_user_search_results($search, 0, false); if (!empty($results['data'])) { $csvfields = array('username', 'email', 'firstname', 'lastname', 'preferredname', 'submittedto', 'specialid', 'filetitle', 'filepath', 'filename', 'archivectime'); $USER->set_download_file(generate_csv($results['data'], $csvfields), 'archivedsubmissions.csv', 'text/csv'); redirect(get_config('wwwroot') . 'download.php'); } $SESSION->add_error_msg(get_string('nocsvresults', 'admin')); redirect(get_config('wwwroot') . 'admin/groups/archives.php?institution=' . $search->institution);
$users = array(); foreach ($groups as $group) { $group = \Grase\Clean::groupName($group); $usersInGroup = $DBF->getMultipleUsersDetails($DBF->getUsersByGroup($group)); if (is_array($usersInGroup)) { $users = array_merge($users, $usersInGroup); } } $title = sprintf(T_('Group_%s_details'), implode('-', $groups)); } else { echo T_("Need a group or batch"); // TODO Use error template exit; } if ($_GET['format'] == 'csv') { generate_csv($users, $title); } elseif ($_GET['format'] == 'html') { printTickets($users, $title); } else { // TODO error page echo T_("Need valid format"); exit; } function generate_csv($users, $title) { $groupSettings = grouplist(); header("Content-type: text/csv"); header("Content-Disposition: attachment; filename={$title}.csv"); header("Pragma: no-cache"); header("Expires: 0"); $details = array();
} } } $userids = array_keys($users); if ($selected == 'users') { $subheading = get_string('users'); $smarty = smarty_core(); $smarty->assign_by_ref('users', $users); $smarty->assign_by_ref('USER', $USER); $userlisthtml = $smarty->fetch('admin/users/userlist.tpl'); if ($USER->get('admin') || $USER->is_institutional_admin()) { $csvfields = array('username', 'email', 'firstname', 'lastname', 'studentid', 'preferredname', 'remoteuser', 'lastlogin'); } else { $csvfields = array('username', 'firstname', 'lastname', 'studentid', 'preferredname', 'lastlogin'); } $USER->set_download_file(generate_csv($users, $csvfields), 'users.csv', 'text/csv'); $csv = true; } else { if ($selected == 'accesslist') { $subheading = get_string('accesslist', 'view'); require_once get_config('libroot') . 'view.php'; $accesslists = View::get_accesslists(array_keys($users)); foreach ($accesslists['collections'] as $k => $c) { if (!isset($users[$c['owner']]->collections)) { $users[$c['owner']]->collections = array(); } $users[$c['owner']]->collections[$k] = $c; } foreach ($accesslists['views'] as $k => $v) { if (!isset($users[$v['owner']]->views)) { $users[$v['owner']]->views = array();
} if (strlen(trim($row['subjplace'])) > 0) { $array = array_filter(explode('|', $row['subjplace'])); foreach ($array as $val) { if (!in_array(trim($val), $places)) { $places[] = trim($val); } } } } } //generate csv generate_csv($makers, 'makers'); generate_csv($artists, 'artists'); generate_csv($states, 'states'); generate_csv($places, 'places'); function generate_csv($array, $type) { if ($type == 'places') { $csv = '"value","uri","placename"' . "\n"; } else { $csv = '"value","uri"' . "\n"; } foreach ($array as $value) { $csv .= '"' . $value . '",'; if ($type == 'places') { $geonames = query_geonames($value); $geonameId = $geonames[0]; if (strlen($geonameId) > 0) { $geonames_uri = 'http://www.geonames.org/' . $geonameId; $geonames_place = $geonames[1];