Esempio n. 1
0
<p>Die aufgef&uuml;hrten Werte werden in der Konfigurationsdatei <code>php.ini</code> vom Adminstrator des Webservers eingestellt. Unter Umst&auml;nden f&uuml;hren einige Einstellungen zu Beschr&auml;nkungen in der Funktionalit&auml;t des Elm@r-Moduls. Wenn der Webadmin nicht bereit ist, die Einstellungen zu &auml;ndern, m&uuml;ssen Sie mit diesen Beschr&auml;nkungen leider leben. Soweit das technisch m&ouml;glich ist, versucht das Elm@r-Modul die Probleme auf Kosten des Komforts zu umgehen.</p>

<dl>
<?php 
if (ini_get('safe_mode')) {
    ?>
  <dt><span class="error"><code>safe_mode</code> ist aktiv.</span></dt>
  <dd>Das Elm@r-Modul kann u.&nbsp;a. die Ausf&uuml;hrungszeit seiner PHP-Skripten nicht verl&auml;ngern, sofern dies bei gro&szlig;en Produktdateien erforderlich sein sollte.</dd>
<?php 
}
?>

<?php 
$max_execution_time = (int) ini_get('max_execution_time');
if ($max_execution_time) {
    $productAnz = productAnz();
    ?>
    <dt><span class="error"><code>max_execution_time</code> ist <?php 
    echo $max_execution_time;
    ?>
.</span></dt>
    <dd>Die maximale Laufzeit f&uuml;r PHP-Skripte betr&auml;gt also <?php 
    echo $max_execution_time;
    ?>
&nbsp;Sekunden.
<?php 
    if ($max_execution_time <= (1 + $productAnz / DB_STEP) * DB_SLEEP) {
        ?>
    Das k&ouml;nnte zur Erzeugung gro&szlig;er Produktdateien zu kurz sein.
    Falls Timeout-Probleme wie leere oder abgeschnittene Produktdateien auftreten,
    versuchen Sie die Werte f&uuml;r <code>DB_STEP</code> und <code>DB_SLEEP</code> in <code>elmar_config.inc.php</code> anzupassen.
Esempio n. 2
0
    } else {
        $file = $_REQUEST['file'];
        if (!file_exists(ELMAR_PATH . $file)) {
            $errmsg[] = 'Die Datei <em>' . realpath(ELMAR_PATH) . $PATH_SEPARATOR . $file . '</em> existiert nicht.';
            define('THISPAGE', 'index.php');
        } else {
            define('THISPAGE', $file);
        }
    }
} else {
    // Kein oder falsches Passwort, dann zum Login.
    define('THISPAGE', 'login.php');
}
// Produktdatei in mehreren Schritten mit entsprechenden Redirects erzeugen.
$db_part = isset($_REQUEST['db_part']) && $_REQUEST['db_part'] > 0 ? (int) $_REQUEST['db_part'] : false;
if ($db_part && $db_part * DB_STEP < productAnz()) {
    // Das Formular in prodfiles.php muss mit GET abgeschickt werden,
    // damit hier die Umleitung auf die naechste Seite mittels REQUEST_URI klappt.
    $uri = ereg_replace('db_part=[0-9]+', 'db_part=' . ($db_part + 1), $_SERVER['REQUEST_URI']);
    header('Location: ' . $uri);
}
if (!defined('DEFAULT_DELIMITER')) {
    $errmsg[] = 'Das Trennzeichen f&uuml;r Produktdateien (<code>DEFAULT_DELIMITER</code>) ist in der Konfigurationsdatei <code>elmar_config.inc.php</code> nicht gesetzt.';
} else {
    if (DEFAULT_DELIMITER == 't') {
        $errmsg[] = 'Das Trennzeichen f&uuml;r Produktdateien (<code>DEFAULT_DELIMITER</code>) in der Konfigurationsdatei <code>elmar_config.inc.php</code> ist ung&uuml;ltig. Wurde die Datei mit dem osCommerce-Dateimanager bearbeitet? Wenn ja, siehe <a href="readme.html#osfilemanager">Readme</a>. Vermutlich soll der Wert so gesetzt werden:<br><code>define(\'DEFAULT_DELIMITER\', &quot;\\t&quot;);</code>';
    }
}
if (isset($_GET['elmar_debug_level'])) {
    $elmar_debug_level = $_GET['elmar_debug_level'];
    setcookie('elmar_debug_level', $elmar_debug_level, time() + 60 * 60 * 24 * 365);
Esempio n. 3
0
 function Config()
 {
     if (file_exists(CONFIG)) {
         $this->read();
     } else {
         // Default-Werte eintragen
         $this->items = array();
         $this->set('ELMAR_MODULE_ONE_TIME_INSTALL', FALSE);
         $this->set('WRITE_PRODUCTFILE', productAnz() > 1000 && check_writeable(PRODUCTFILE));
         $this->set('WRITE_REQUESTLOG', FALSE);
         $this->set('WRITE_ERRORLOG', FALSE);
         $this->set('WRITE_PRODUCTLOG', FALSE);
         $this->set('LOGFORMAT', 'TXT');
         $this->set('MD5_CHECKSUM', '');
         $this->set('REGISTERED', FALSE);
         $this->set('CAN_WRITE', TRUE);
         $this->set('SHOPINFO_XML_URL', '');
         $this->set('SHOPINFO_XML_FILE', '');
         $this->set('ELMAR_PASSWORD', '');
     }
 }
Esempio n. 4
0
    exit;
}
$from_bytes = 0;
$to_bytes = 0x7fffffff;
if (isset($_SERVER['HTTP_RANGE'])) {
    if (preg_match("/bytes\\s*=\\s*(\\d+)\\s*-\\s*(\\d+)/i", $_SERVER['HTTP_RANGE'], $matches)) {
        // Wenn nur partieller Content angefragt wird, die Produktschleife ggf. vorzeitig abbrechen.
        // Um die richtige Anzahl Bytes und den Antwortcode kümmert sich der Webserver.
        $from_bytes = (int) $matches[1];
        $to_bytes = (int) $matches[2];
    }
}
if (!ini_get('safe_mode') && DB_SLEEP > 0) {
    // max_execution_time kann im Safemode nicht geaendert werden.
    // max_execution_time ggf. erhoehen, damit alle Produkte in die Produktdatei geschrieben werden.
    ini_set('max_execution_time', max(ini_get('max_execution_time'), (1 + productAnz() / DB_STEP) * DB_SLEEP));
}
// Sonderzeichen ersetzen; Reihenfolge relevant!
$quoted_csv_srch = array("\r\n", "\r", "\n", "\v", "");
$quoted_csv_repl = array(' ', ' ', ' ', ' ', '');
if (!empty($escape)) {
    $quoted_csv_srch[] = $escape;
    $quoted_csv_repl[] = $escape . $escape;
}
if (!empty($quote)) {
    $quoted_csv_srch[] = $quote;
    $quoted_csv_repl[] = !empty($escape) ? $escape . $quote : '';
} else {
    $quoted_csv_srch[] = $delimiter;
    $quoted_csv_repl[] = !empty($escape) ? $escape . $delimiter : ' ';
}
Esempio n. 5
0
    <input type="hidden" name="file" value="<?php 
echo THISPAGE;
?>
">
    <input type="hidden" name="isForm" value="yes">
    <table border="0" cellpadding="3" cellspacing="3" summary="Layout Formular">

      <tr valign=top>
        <td align=left class="main"><input type="checkbox" name="productFile" value="yes" <?php 
if ($productFile) {
    echo 'checked';
}
?>
></td>
        <td><STRONG>Produktdatei speichern</STRONG> <?php 
if (productAnz() > 1000) {
    echo '(wird empfohlen)';
}
?>
</td>
      </tr>
      <tr><td>&nbsp;</td><td>
      Bitte stellen Sie ein, ob beim Abrufen von Produktdaten &uuml;ber die URL <a href="<?php 
echo ELMAR_SHOP_ROOT_DIR . 'elmar_products.php';
?>
"><code><?php 
echo ELMAR_SHOP_ROOT_DIR . 'elmar_products.php';
?>
</code></a> automatisch die Produktdatei <code class="data"><?php 
echo DIR_FS_CATALOG . PRODUCTFILE;
?>