/** * Prüfen ob ein/e Datei/Ordner beschreibbar ist * * @access public * @param string $item Datei oder Verzeichnis * @return mixed true bei Erfolg, sonst Fehlermeldung */ function rex_is_writable($item) { return _rex_is_writable_info(_rex_is_writable($item), $item); }
foreach ($requiredExtensions as $extension) { if (!extension_loaded($extension)) { $MSG['err'] .= '<li>' . $I18N->msg('setup_010_1', $extension) . '</li>'; } } // -------------------------- SCHREIBRECHTE $WRITEABLES = array($REX['INCLUDE_PATH'] . '/master.inc.php', $REX['INCLUDE_PATH'] . '/addons.inc.php', $REX['INCLUDE_PATH'] . '/clang.inc.php', $REX['INCLUDE_PATH'] . '/generated', $REX['INCLUDE_PATH'] . '/generated/articles', $REX['INCLUDE_PATH'] . '/generated/templates', $REX['INCLUDE_PATH'] . '/generated/files', realpath($REX['INCLUDE_PATH'] . '/../../files'), realpath($REX['INCLUDE_PATH'] . '/../../files') . '/_readme.txt', $REX['INCLUDE_PATH'] . '/addons/import_export/files'); foreach ($REX['SYSTEM_ADDONS'] as $system_addon) { $WRITEABLES[] = $REX['INCLUDE_PATH'] . '/addons/' . $system_addon; } $res = rex_setup_is_writable($WRITEABLES); if (count($res) > 0) { $MSG['err'] .= '<li>'; foreach ($res as $type => $messages) { if (count($messages) > 0) { $MSG['err'] .= '<h3>' . _rex_is_writable_info($type) . '</h3>'; $MSG['err'] .= '<ul>'; foreach ($messages as $message) { $MSG['err'] .= '<li>' . $message . '</li>'; } $MSG['err'] .= '</ul>'; } } $MSG['err'] .= '</li>'; } } if ($MSG['err'] == '' && $checkmodus == 1) { rex_setup_title($I18N->msg('setup_step1')); echo $I18N->msg('setup_016', '<h2>', '</h2>', '<span class="rex-ok">', '</span>') . ' <p class="rex-warning" id="security_warning" style="display: none"><span>' . $I18N->msg('setup_security_msg') . '</span></p> <noscript><p class="rex-warning"><span>' . $I18N->msg('setup_no_js_security_msg') . '</span></p></noscript>
foreach (array('session', 'mysql', 'pcre') as $extension) { if (!extension_loaded($extension)) { $MSG['err'] .= '<li>' . $I18N->msg('setup_010_1', $extension) . '</li>'; } } // -------------------------- SCHREIBRECHTE $WRITEABLES = array($REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'master.inc.php', $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'addons.inc.php', $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'plugins.inc.php', $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'clang.inc.php', $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'generated', $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'generated' . DIRECTORY_SEPARATOR . 'articles', $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'generated' . DIRECTORY_SEPARATOR . 'templates', $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'generated' . DIRECTORY_SEPARATOR . 'files', $REX['MEDIAFOLDER'], $REX['MEDIAFOLDER'] . DIRECTORY_SEPARATOR . '_readme.txt', getImportDir()); foreach ($REX['SYSTEM_ADDONS'] as $system_addon) { $WRITEABLES[] = $REX['INCLUDE_PATH'] . DIRECTORY_SEPARATOR . 'addons' . DIRECTORY_SEPARATOR . $system_addon; } $res = rex_setup_is_writable($WRITEABLES); if (count($res) > 0) { $MSG['err'] .= '<li>'; foreach ($res as $type => $messages) { if (count($messages) > 0) { $MSG['err'] .= '<h3 class="rex-hl3">' . _rex_is_writable_info($type) . '</h3>'; $MSG['err'] .= '<ul>'; foreach ($messages as $message) { $MSG['err'] .= '<li>' . $message . '</li>'; } $MSG['err'] .= '</ul>'; } } $MSG['err'] .= '</li>'; } } if ($MSG['err'] == '' && $checkmodus == 1) { rex_setup_title($I18N->msg('setup_step1')); echo $I18N->msg('setup_016', '<h2 class="rex-hl2">', '</h2>'); echo '<div class="rex-area-content">'; echo $I18N->msg('setup_016_1', ' class="rex-ul1"', '<span class="rex-ok">', '</span>');