本文整理汇总了PHP中rex_is_writable函数的典型用法代码示例。如果您正苦于以下问题:PHP rex_is_writable函数的具体用法?PHP rex_is_writable怎么用?PHP rex_is_writable使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rex_is_writable函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: rex_install_plugin
function rex_install_plugin($plugins, $pluginname, $installDump = true)
{
global $REX, $I18N_COM;
$state = true;
$install_dir = rex_plugins_dir() . $pluginname;
$install_file = $install_dir . '/install.inc.php';
$install_sql = $install_dir . '/install.sql';
$config_file = $install_dir . '/config.inc.php';
// Prüfen des Addon Ornders auf Schreibrechte,
// damit das Addon später wieder gelöscht werden kann
$state = rex_is_writable($install_dir);
if ($state === true) {
if (is_readable($install_file)) {
require $install_file;
// Wurde das "install" Flag gesetzt, oder eine Fehlermeldung ausgegeben? Wenn ja, Abbruch
$instmsg = OOPlugin::getProperty($pluginname, 'installmsg', '');
if (!OOPlugin::isInstalled($pluginname) || $instmsg) {
$state = $I18N_COM->msg('plugin_no_install', $pluginname) . '<br />';
if ($instmsg == '') {
$state .= $I18N_COM->msg('plugin_no_reason');
} else {
$state .= $instmsg;
}
} else {
// check if config file exists
if (is_readable($config_file)) {
if (!OOPlugin::isActivated($pluginname)) {
require $config_file;
}
} else {
$state = $I18N_COM->msg('plugin_config_not_found');
}
if ($installDump === true && $state === true && is_readable($install_sql)) {
$state = rex_install_dump($install_sql);
if ($state !== true) {
$state = 'Error found in install.sql:<br />' . $state;
}
}
// Installation ok
if ($state === true) {
// regenerate Addons file
$state = rex_generatePlugins($plugins);
}
}
} else {
$state = $I18N_COM->msg('plugin_install_not_found');
}
}
if ($state !== true) {
OOPlugin::setProperty($pluginname, 'install', 0);
}
return $state;
}
示例2: rex_install_addon
/**
* Addon Funktionen
* @package redaxo4
* @version $Id: function_rex_addons.inc.php,v 1.3 2008/02/25 09:51:18 kills Exp $
*/
function rex_install_addon($addons, $addonname, $installDump = true)
{
global $REX, $I18N;
$state = true;
$install_dir = $REX['INCLUDE_PATH'] . '/addons/' . $addonname;
$install_file = $install_dir . '/install.inc.php';
$install_sql = $install_dir . '/install.sql';
$config_file = $install_dir . '/config.inc.php';
// Prüfen des Addon Ornders auf Schreibrechte,
// damit das Addon später wieder gelöscht werden kann
$state = rex_is_writable($install_dir);
if ($state === true) {
if (is_readable($install_file)) {
require $install_file;
// Wurde das "install" Flag gesetzt, oder eine Fehlermeldung ausgegeben? Wenn ja, Abbruch
if (!OOAddon::isInstalled($addonname) || !empty($REX['ADDON']['installmsg'][$addonname])) {
$state = $I18N->msg('addon_no_install', $addonname) . '<br />';
if ($REX['ADDON']['installmsg'][$addonname] == '') {
$state .= $I18N->msg('addon_no_reason');
} else {
$state .= $REX['ADDON']['installmsg'][$addonname];
}
} else {
// check if config file exists
if (is_readable($config_file)) {
if (!OOAddon::isActivated($addonname)) {
require $config_file;
}
} else {
$state = $I18N->msg('addon_config_not_found');
}
if ($installDump === true && $state === true && is_readable($install_sql)) {
$state = rex_install_dump($install_sql);
if ($state !== true) {
$state = 'Error found in install.sql:<br />' . $state;
}
}
// Installation ok
if ($state === true) {
// regenerate Addons file
$state = rex_generateAddons($addons);
}
}
} else {
$state = $I18N->msg('addon_install_not_found');
}
}
if ($state !== true) {
$REX['ADDON']['install'][$addonname] = 0;
}
return $state;
}
示例3: rex_install_addon
/**
* Addon Funktionen
* @package redaxo3
* @version $Id: function_rex_addons.inc.php,v 1.2 2005/12/30 09:34:47 kills Exp $
*/
function rex_install_addon($addons, $addonname)
{
global $REX, $I18N;
$state = true;
$install_dir = $REX['INCLUDE_PATH'] . "/addons/{$addonname}";
$install_file = $install_dir . "/install.inc.php";
$config_file = $install_dir . "/config.inc.php";
// Prüfen des Addon Ornders auf Schreibrechte,
// damit das Addon später wieder gelöscht werden kann
$state = rex_is_writable($install_dir);
if ($state === true) {
if (is_readable($install_file)) {
include $install_file;
// Wurde das "install" Flag gesetzt, oder eine Fehlermeldung ausgegeben? Wenn ja, Abbruch
if (!OOAddon::isInstalled($addonname) || !empty($REX['ADDON']['installmsg'][$addonname])) {
$state = $I18N->msg("addon_no_install", $addonname) . "<br/>";
if ($REX['ADDON']['installmsg'][$addonname] == "") {
$state .= $I18N->msg("addon_no_reason");
} else {
$state .= $REX['ADDON']['installmsg'][$addonname];
}
} else {
// check if config file exists
if (is_readable($config_file)) {
// skip config if it is a reinstall !
if (!OOAddon::isActivated($addonname)) {
// if config is broken installation prozess will be terminated -> no install -> no errors in redaxo
include $config_file;
}
} else {
$state = $I18N->msg("addon_config_not_found");
}
// Installation ok
if ($state === true) {
// regenerate Addons file
$state = rex_generateAddons($addons);
}
}
} else {
$state = $I18N->msg("addon_install_not_found");
}
}
return $state;
}
示例4: _a_63_install
/**
* Hilfsfunktion zur Installation.
*
* @param int $step Installationsschritt
* @return string
*/
function _a_63_install($step = 0)
{
global $REX;
/**
* init
*/
$error = '';
$tmpFolder = $REX['MEDIAFOLDER'] . '/' . $REX['TEMP_PREFIX'] . '/';
$mediaFolder = $REX['MEDIAFOLDER'] . '/' . $REX['TEMP_PREFIX'] . '/guestbook_63/';
$cssPathSource = '/addons/guestbook/css/';
$cssFile = 'guestbook.css';
static $_a63_checkTabelle = '';
switch ($step) {
case 1:
/**
* pruefe config/ auf Schreibrechte
*/
$error = rex_is_writable(dirname(__FILE__) . '/config');
break;
case 2:
/**
* pruefe config/status.txt auf Schreibrechte
*/
$error = rex_is_writable(dirname(__FILE__) . '/config/status.txt');
break;
case 3:
/**
* das addon_framework muss installiert und aktiviert sein
*/
if (!OOAddon::isAvailable('addon_framework')) {
$error = 'Required addon "addon_framework" is either not installed or not activated!';
}
break;
case 4:
// erstelle tmp-Ordner, wenn nicht schon vorhanden
if (!is_dir($tmpFolder) && !mkdir($tmpFolder)) {
$error = 'Unable to create folder "' . $tmpFolder . '"';
}
@chmod($tmpFolder, $REX['DIRPERM']);
break;
case 5:
// erstelle AddOn-Ordner im tmp-Ordner
if (!is_dir($mediaFolder) && !mkdir($mediaFolder)) {
$error = 'Unable to create folder "' . $mediaFolder . '"';
}
@chmod($mediaFolder, $REX['DIRPERM']);
break;
case 6:
// kopiere CSS in Mediafolder
$cssSrc = $REX['INCLUDE_PATH'] . $cssPathSource . $cssFile;
$cssDst = $mediaFolder . $cssFile;
if (!file_exists($cssDst) && !copy($cssSrc, $cssDst)) {
$error = 'Unable to copy file to "' . $cssDst . '"';
}
// setze Rechte nach master.inc.php-Vorgabe
@chmod($cssDst, $REX['FILEPERM']);
break;
case 7:
// Gibt es die GB-Tabelle schon?
$_a63_checkTabelle = rex_a63_CheckTabelle();
// SQL wird nur ausgefuehrt, wenn die Tabelle noch nicht in der DB existiert.
if (!$_a63_checkTabelle) {
$error = rex_install_dump(dirname(__FILE__) . '/install_tabelle.sql', false);
}
break;
case 8:
// installiere die benoetigten Module und Aktionen
// ToDo: eine Ueberpruefung ob die Module und Aktionen schon installiert ist waere notwendig
// ToDo: aber dazu fehlen noch einige Vorraussetzungen in den Redaxotabellen selbst
$error = rex_install_dump(dirname(__FILE__) . '/install_moduleaction.sql', false);
break;
case 9:
// DB-Daten installiert? Dann hiermit weiter.
include dirname(__FILE__) . '/install.php';
// rex_a63_installAction2Modul(Name des Modules, Name der Action)
$error = rex_a63_installAction2Modul('Gaestebuch - Eintragsliste', 'Gaestebuch - Eintragsliste StatusPerDatei');
break;
default:
$error = $I18N_A63('Fehler bei der Installation. Kein passender Installationsschritt gefunden.');
break;
}
return $error;
}
示例5: dirname
<?php
/**
* Backenddashboard Addon
*
* @author markus[dot]staab[at]redaxo[dot]de Markus Staab
* @author <a href="http://www.redaxo.de">www.redaxo.de</a>
*
* @package redaxo4
* @version svn:$Id$
*/
$error = '';
if ($error == '') {
$file = dirname(__FILE__) . '/settings';
if (($state = rex_is_writable($file)) !== true) {
$error = $state;
}
}
if ($error != '') {
$REX['ADDON']['installmsg']['be_dashboard'] = $error;
} else {
$REX['ADDON']['install']['be_dashboard'] = true;
}
示例6: install
function install($addonName, $installDump = TRUE)
{
global $REX;
$state = TRUE;
$install_dir = $this->baseFolder($addonName);
$install_file = $install_dir . 'install.inc.php';
$install_sql = $install_dir . 'install.sql';
$config_file = $install_dir . 'config.inc.php';
$files_dir = $install_dir . 'files';
// Prüfen des Addon Ornders auf Schreibrechte,
// damit das Addon später wieder gelöscht werden kann
$state = rex_is_writable($install_dir);
if ($state === TRUE) {
if (is_readable($install_file)) {
$this->includeInstaller($addonName, $install_file);
// Wurde das "install" Flag gesetzt?
// Fehlermeldung ausgegeben? Wenn ja, Abbruch
$instmsg = $this->apiCall('getProperty', array($addonName, 'installmsg', ''));
if (!$this->apiCall('isInstalled', array($addonName)) || $instmsg) {
$state = $this->I18N('no_install', $addonName) . '<br />';
if ($instmsg == '') {
$state .= $this->I18N('no_reason');
} else {
$state .= $instmsg;
}
} else {
// check if config file exists
if (is_readable($config_file)) {
if (!$this->apiCall('isActivated', array($addonName))) {
$this->includeConfig($addonName, $config_file);
}
} else {
$state = $this->I18N('config_not_found');
}
if ($installDump === TRUE && $state === TRUE && is_readable($install_sql)) {
$state = rex_install_dump($install_sql);
if ($state !== TRUE) {
$state = 'Error found in install.sql:<br />' . $state;
}
}
// Installation ok
if ($state === TRUE) {
// regenerate Addons file
$state = $this->generateConfig();
}
}
} else {
$state = $this->I18N('install_not_found');
}
}
// Dateien kopieren
if ($state === TRUE && is_dir($files_dir)) {
if (!rex_copyDir($files_dir, $this->mediaFolder($addonName), $REX['MEDIAFOLDER'])) {
$state = $this->I18N('install_cant_copy_files');
}
}
if ($state !== TRUE) {
$this->apiCall('setProperty', array($addonName, 'install', 0));
}
return $state;
}
示例7:
<?php
/**
* News Addon
* @author fuchs@d-mind.de Jens Fuchs
* @package redaxo4
* @version $Id: config.inc.php,v 1.0 2008/02/14 19:22:38
*/
$config_file = $REX['INCLUDE_PATH'] . '/addons/news/conf/conf.php';
$template_dir = $REX['INCLUDE_PATH'] . '/addons/news/view/templates_c';
if (($state = rex_is_writable($config_file)) !== true) {
$REX['ADDON']['installmsg']['news'] = 'Das Konfigurationsfile <strong>' . $config_file . '</strong> ist nicht beschreibbar';
$REX['ADDON']['install']['news'] = 0;
}
if (($state = rex_is_writable($template_dir)) !== true) {
$REX['ADDON']['installmsg']['news'] = 'Das Verzeichnis <strong>redaxo/include/addons/news/view/templates_c/</strong> ist nicht beschreibbar';
$REX['ADDON']['install']['news'] = 0;
}
if (intval(PHP_VERSION) < 5) {
$REX['ADDON']['installmsg']['news'] = 'Dieses Addon benötigt PHP 5!';
$REX['ADDON']['install']['news'] = 0;
} else {
$REX['ADDON']['install']['news'] = 1;
}
示例8: rex_mailer
* @version $Id class.rex_form.inc.php,v 1.3 2006/09/07 104351 kills Exp $
*/
$testMailer = new rex_mailer();
$fromname = rex_post('fromname', 'string', $testMailer->FromName);
$from = rex_post('from', 'string', $testMailer->From);
$confirmto = rex_post('confirmto', 'string', $testMailer->ConfirmReadingTo);
$mailer = rex_post('mailer', 'string', $testMailer->Mailer);
$host = rex_post('host', 'string', $testMailer->Host);
$charset = rex_post('charset', 'string', $testMailer->CharSet);
$wordwrap = rex_post('wordwrap', 'int', $testMailer->WordWrap);
$encoding = rex_post('encoding', 'string', $testMailer->Encoding);
$priority = rex_post('priority', 'int', $testMailer->Priority);
$message = '';
if (rex_post('btn_save', 'string') != '') {
$file = $REX['INCLUDE_PATH'] . '/addons/phpmailer/classes/class.rex_mailer.inc.php';
$message = rex_is_writable($file);
if ($message === true) {
$message = $I18N_A93->msg('config_saved_error');
if ($hdl = fopen($file, 'r')) {
$file_content = fread($hdl, filesize($file));
fclose($hdl);
$template = "// --- DYN\r\n \$this->From = '" . $from . "';\r\n \$this->FromName = '" . $fromname . "';\r\n \$this->ConfirmReadingTo = '" . $confirmto . "';\r\n \$this->Mailer = '" . $mailer . "';\r\n \$this->Host = '" . $host . "';\r\n \$this->CharSet = '" . $charset . "';\r\n \$this->WordWrap = " . $wordwrap . ";\r\n \$this->Encoding = '" . $encoding . "';\r\n \$this->Priority = " . $priority . ";\r\n // --- /DYN";
$file_content = ereg_replace("(\\/\\/.---.DYN.*\\/\\/.---.\\/DYN)", $template, $file_content);
if ($hdl = fopen($file, 'w+')) {
if (fwrite($hdl, $file_content, strlen($file_content))) {
$message = $I18N_A93->msg('config_saved_successful');
fclose($hdl);
}
}
}
}
示例9:
<?php
/**
* PHPMailer Addon
*
* @author markus[dot]staab[at]redaxo[dot]de Markus Staab
*
*
* @package redaxo4
* @version $Id: install.inc.php,v 1.1 2008/03/26 13:34:13 kills Exp $
*/
$error = '';
$settings_file = $REX['INCLUDE_PATH'] . '/addons/phpmailer/classes/class.rex_mailer.inc.php';
if (($state = rex_is_writable($settings_file)) !== true) {
$error = $state;
}
if ($error != '') {
$REX['ADDON']['installmsg']['phpmailer'] = $error;
} else {
$REX['ADDON']['install']['phpmailer'] = true;
}
示例10: fclose
fclose($hdl);
echo $license;
echo "</div>";
echo "<br><br><a href=index.php?page=setup&checkmodus=1&lang={$lang}>» " . $I18N->msg("setup_006") . "</a><br><br>";
$checkmodus = 0;
}
// ---------------------------------- MODUS 1 | Versionscheck - Rechtecheck
if ($checkmodus == 1) {
// -------------------------- VERSIONSCHECK
if (version_compare(phpversion(), "4.2.0", "<") == 1) {
$MSG['err'] .= $I18N->msg("setup_010") . "<br>";
}
// -------------------------- SCHREIBRECHTE
$WRITEABLE = array($REX['INCLUDE_PATH'] . "/master.inc.php", $REX['INCLUDE_PATH'] . "/addons.inc.php", $REX['INCLUDE_PATH'] . "/clang.inc.php", $REX['INCLUDE_PATH'] . "/ctype.inc.php", $REX['INCLUDE_PATH'] . "/generated", $REX['INCLUDE_PATH'] . "/generated/articles", $REX['INCLUDE_PATH'] . "/generated/templates", $REX['INCLUDE_PATH'] . "/addons/stats/logs", $REX['INCLUDE_PATH'] . "/generated/files", $REX['INCLUDE_PATH'] . "/addons/import_export/files", $REX['INCLUDE_PATH'] . "/../../files");
foreach ($WRITEABLE as $item) {
if (($_msg = rex_is_writable($item)) !== true) {
$MSG['err'] .= $_msg . "<br>";
}
}
}
if ($MSG['err'] == "" && $checkmodus == 1) {
rex_setuptitle($I18N->msg("setup_step1"));
echo $I18N->msg("setup_016");
echo "<br><br><a href=index.php?page=setup&checkmodus=2&lang={$lang}>» " . $I18N->msg("setup_017") . "</a><br><br>";
} elseif ($MSG['err'] != "") {
rex_setuptitle($I18N->msg("setup_step1"));
echo "<b>" . $I18N->msg("setup_headline1") . "</b><br><br>" . $MSG['err'] . "\n \n <br>" . $I18N->msg("setup_018") . "<br><br>\n <a href=index.php?page=setup&checkmodus=1&lang={$lang}>» " . $I18N->msg("setup_017") . "</a><br><br>";
}
// ---------------------------------- MODUS 2 | master.inc.php - Datenbankcheck
if ($checkmodus == 2 && $send == 1) {
$h = @fopen($REX['INCLUDE_PATH'] . "/master.inc.php", "r");
示例11: array
$autoinstall = array('addon_installer', 'modul_installer', 'zip_installer');
$msg = '';
$REX['ADDON']['install']['installer'] = true;
if (!extension_loaded('zLib')) {
if (!dl('zlib.so')) {
$REX['ADDON']['install']['installer'] = 0;
$REX['ADDON']['installmsg']['installer'] = "Dieses Addon benötigt die zLib und kann ohne nicht installiert werden";
}
} else {
}
if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
} else {
$REX['ADDON']['install']['installer'] = 0;
$REX['ADDON']['installmsg']['installer'] = "Dieses Addon benötigt mindestens PHP 5.0.0 (5.3.0 empfohlen) , auf diesem System ist jedoch " . PHP_VERSION . " installiert.";
}
if (!rex_is_writable(dirname(__FILE__) . '/temp/')) {
$REX['ADDON']['install']['installer'] = 0;
$REX['ADDON']['installmsg']['installer'] = "Das Verzeichnis /temp/ im Addonverzeichnis hat keine Schreibrechte. Bitte wechsle ins Installer-Verzeichnis und setze die Schreibrechte für das Verzeichnis auf CHMOD 777";
}
// GET ALL ADDONS & PLUGINS
$all_addons = rex_read_addons_folder();
$all_plugins = array();
foreach ($all_addons as $_addon) {
$all_plugins[$_addon] = rex_read_plugins_folder($_addon);
}
// DO AUTOINSTALL
$pluginManager = new rex_pluginManager($all_plugins, $addonname);
foreach ($autoinstall as $pluginname) {
// INSTALL PLUGIN
if (($instErr = $pluginManager->install($pluginname)) !== true) {
$msg = $instErr;
示例12:
<?php
/**
* Cronjob Addon
*
* @author gharlan[at]web[dot]de Gregor Harlan
*
* @package redaxo4
* @version svn:$Id$
*/
$error = '';
$config_file = $REX['INCLUDE_PATH'] . '/addons/cronjob/config.inc.php';
if (($state = rex_is_writable($config_file)) !== true) {
$error .= $state;
}
$log_folder = $REX['INCLUDE_PATH'] . '/addons/cronjob/logs/';
if (($state = rex_is_writable($log_folder)) !== true) {
$error .= $state;
}
if ($error != '') {
$REX['ADDON']['installmsg']['cronjob'] = $error;
} else {
$REX['ADDON']['install']['cronjob'] = true;
}