コード例 #1
0
function makeGeoDataSheet($data, $folderName, $format)
{
    $ending = strtolower($format);
    // Anlegen eines gemeinsamen Index für Orte und Jahre, so dass beide Kategorien abgerufen werden können.
    $index1 = makeIndex($data, 'placeName');
    $index2 = makeIndex($data, 'year');
    $commonIndex = mergeIndices($index1, $index2);
    $rowArray = array();
    $placeName = '';
    // Durchgehen des Index und Abspeichern von standardisierten Datensätzen der Klasse geoDataRow im Array $rowArray
    foreach ($commonIndex as $entry) {
        // Die im Index mit Level 1 auftretenden Ortseinträge dienen nur zum Speichern von Ortsname und Geodaten
        if ($entry->level == 1) {
            // Der Test dient dem Ausschließen von Einträgen ohne Ortsnamen oder Geodaten
            $test = testEntry($entry);
            $placeName = $entry->label;
            $latitude = cleanCoordinate($entry->geoData['lat']);
            $longitude = cleanCoordinate($entry->geoData['long']);
        }
        //Für jeden Indexeintrag Level 2 (Jahre) werden so viele Einträge gespeichert, wie Datensätze unter content verzeichnet sind.
        if ($entry->level == 2 and $test == 1) {
            foreach ($entry->content as $occurrence) {
                $row = new geoDataRow();
                $row->label = $placeName;
                $row->lat = cleanCoordinate($entry->geoData['lat']);
                $row->long = cleanCoordinate($entry->geoData['long']);
                $row->timeStamp = $entry->label;
                $row->lat = $latitude;
                $row->long = $longitude;
                if ($entry->authority['system'] == 'getty') {
                    $row->getty = $entry->authority['id'];
                } elseif ($entry->authority['system'] == 'geoNames') {
                    $row->geoNames = $entry->authority['id'];
                }
                $rowArray[] = $row;
            }
        }
    }
    // Jetzt werden die Objekte der Klasse geoDataRow in Einträge übersetzt, abhängig vom gewählten Format
    if ($ending == 'csv') {
        // Kopfdaten für CSV-Dateien
        $content = '"Name","Address","Description","Longitude","Latitude","TimeStamp","TimeSpan:begin","TimeSpan:end","GettyID",""
';
        foreach ($rowArray as $row) {
            $content .= makePlaceEntryCSV($row);
        }
    } elseif ($ending == 'kml') {
        // Kopfdaten für KML-Dateien
        $content = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
	<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
		<Folder>';
        foreach ($rowArray as $row) {
            $content .= makePlaceEntryKML($row);
        }
        // Fußdaten für KML-Dateien
        $content .= '
		</Folder>
	</kml>';
    }
    // Abspeichern der im String $content zwischengespeicherten Daten in einer Datei im Projektordner
    $fileName = $folderName . '/printingPlaces.' . $ending;
    $datei = fopen($fileName, "w");
    fwrite($datei, $content, 30000000);
    fclose($datei);
}
コード例 #2
0
function update_db($newinstall)
{
    $database =& JFactory::getDBO();
    $error = false;
    // we create the new columns for 2.7
    $error = addColumn($database, 'preview_textfile_extensions', '', $error);
    $error = addColumn($database, 'edit_textfile_extensions', '', $error);
    $error = addColumn($database, 'js_create_folder', '', $error);
    $error = addColumn($database, 'js_rename_folder', '', $error);
    $error = addColumn($database, 'js_delete_folder', '', $error);
    $error = addColumn($database, 'js_copymove', '', $error);
    // new 2.8
    $error = addColumn($database, 'language_dropdown', 'de,en,es,br,cn,ct,da,fr,it,jp,nl,no,pl,pt,se,sk,tw', $error);
    $error = addColumn($database, 'use_image_magic', 'false', $error);
    $error = addColumn($database, 'image_magic_path', 'convert', $error);
    $error = addColumn($database, 'exclude_directories', 'data.pxp,_vti_cnf,.svn,CVS,thumbs', $error);
    $error = addColumn($database, 'normalise_file_names', 'false', $error);
    $error = addColumn($database, 'download_multiple_files_as_zip', 'false', $error);
    $error = addColumn($database, 'allowed_view_file_extensions', 'all', $error);
    $error = addColumn($database, 'forbidden_view_file_extensions', '', $error);
    $error = addColumn($database, 'description_mode', 'false', $error);
    $error = addColumn($database, 'description_mode_show_default', 'true', $error);
    $error = addColumn($database, 'description_mode_store', 'email', $error);
    $error = addColumn($database, 'master_profile', 'false', $error);
    $error = addColumn($database, 'master_profile_mode', 'login', $error);
    $error = addColumn($database, 'master_profile_lowercase', 'true', $error);
    // new 2.8.3
    $error = addColumn($database, 'normalise_directory_names', 'false', $error);
    $error = addColumn($database, 'direct_download', 'false', $error);
    $error = addColumn($database, 'fix_utf8', '', $error);
    // new 2.9
    if (!testEntry('use_js_include')) {
        $database->setQuery("INSERT INTO #__joomla_flash_uploader_conf (key_id, value) values ('use_js_include','true')");
        if (!$database->query()) {
            $error = true;
            echo $database->getErrorMsg() . '<br />';
        }
    }
    if (!testEntry('backend_access_upload')) {
        $database->setQuery("INSERT INTO #__joomla_flash_uploader_conf (key_id, value) values ('backend_access_upload','Manager')");
        if (!$database->query()) {
            $error = true;
            echo $database->getErrorMsg() . '<br />';
        }
    }
    if (!testEntry('backend_access_config')) {
        $database->setQuery("INSERT INTO #__joomla_flash_uploader_conf (key_id, value) values ('backend_access_config','Manager')");
        if (!$database->query()) {
            $error = true;
            echo $database->getErrorMsg() . '<br />';
        }
    }
    if (!testEntry('file_chmod')) {
        $database->setQuery("INSERT INTO #__joomla_flash_uploader_conf (key_id, value) values ('file_chmod','')");
        if (!$database->query()) {
            $error = true;
            echo $database->getErrorMsg() . '<br />';
        }
    }
    $error = addColumn($database, 'overwrite_files', 'true', $error);
    $error = addColumn($database, 'description_mode_mandatory', 'false', $error);
    $error = addColumn($database, 'show_full_url_for_selected_file', 'false', $error);
    $error = addColumn($database, 'normalize_spaces', 'false', $error);
    if (!testEntry('dir_chmod')) {
        $database->setQuery("INSERT INTO #__joomla_flash_uploader_conf (key_id, value) values ('dir_chmod','')");
        if (!$database->query()) {
            $error = true;
            echo $database->getErrorMsg() . '<br />';
        }
    }
    if ($error) {
        echo "<p class='error'>";
        echo JText::_('I_UPDATE_ERROR');
        return true;
        echo "</p>";
    } else {
        if (!$newinstall) {
            echo JText::_('I_UPDATE_OK');
        }
        return false;
    }
}