当前位置: 首页>>代码示例>>PHP>>正文


PHP rcube::raise_error方法代码示例

本文整理汇总了PHP中rcube::raise_error方法的典型用法代码示例。如果您正苦于以下问题:PHP rcube::raise_error方法的具体用法?PHP rcube::raise_error怎么用?PHP rcube::raise_error使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rcube的用法示例。


在下文中一共展示了rcube::raise_error方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 /**
  * Default constructor
  */
 public function __construct($db, $config)
 {
     $this->db = $db;
     $this->start = microtime(true);
     $this->ip = rcube_utils::remote_addr();
     $this->logging = $config->get('log_session', false);
     $lifetime = $config->get('session_lifetime', 1) * 60;
     $this->set_lifetime($lifetime);
     // use memcache backend
     $this->storage = $config->get('session_storage', 'db');
     if ($this->storage == 'memcache') {
         $this->memcache = rcube::get_instance()->get_memcache();
         // set custom functions for PHP session management if memcache is available
         if ($this->memcache) {
             ini_set('session.serialize_handler', 'php');
             session_set_save_handler(array($this, 'open'), array($this, 'close'), array($this, 'mc_read'), array($this, 'mc_write'), array($this, 'mc_destroy'), array($this, 'gc'));
         } else {
             rcube::raise_error(array('code' => 604, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, 'message' => "Failed to connect to memcached. Please check configuration"), true, true);
         }
     } else {
         if ($this->storage != 'php') {
             ini_set('session.serialize_handler', 'php');
             // set custom functions for PHP session management
             session_set_save_handler(array($this, 'open'), array($this, 'close'), array($this, 'db_read'), array($this, 'db_write'), array($this, 'db_destroy'), array($this, 'gc'));
             $this->table_name = $this->db->table_name('session', true);
         }
     }
 }
开发者ID:yozhi,项目名称:YetiForceCRM,代码行数:31,代码来源:rcube_session.php

示例2: init

 /**
  * Driver initialization/configuration
  */
 protected function init()
 {
     if (version_compare(PHP_VERSION, '5.3.0', '<')) {
         rcube::raise_error(array('code' => 600, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, 'message' => "MySQL driver requires PHP >= 5.3, current version is " . PHP_VERSION), true, true);
     }
     // SQL identifiers quoting
     $this->options['identifier_start'] = '`';
     $this->options['identifier_end'] = '`';
 }
开发者ID:CDN-Sparks,项目名称:owncloud,代码行数:12,代码来源:rcube_db_mysql.php

示例3: render

 function render($args)
 {
     include_once $this->driver;
     if (!function_exists('render_page')) {
         rcube::raise_error(array('code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "ThreeCol plugin: Broken driver: {$this->driver}"), true, false);
     }
     $args = render_page($args);
     return $args;
 }
开发者ID:EstudioNexos,项目名称:threecol,代码行数:9,代码来源:threecol.php

示例4: save

 function save($currpass, $newpass)
 {
     $rcmail = rcmail::get_instance();
     $format = $rcmail->config->get('password_virtualmin_format', 0);
     $username = $_SESSION['username'];
     switch ($format) {
         case 1:
             // username%domain
             $domain = substr(strrchr($username, "%"), 1);
             break;
         case 2:
             // username.domain (could be bogus)
             $pieces = explode(".", $username);
             $domain = $pieces[count($pieces) - 2] . "." . end($pieces);
             break;
         case 3:
             // domain.username (could be bogus)
             $pieces = explode(".", $username);
             $domain = $pieces[0] . "." . $pieces[1];
             break;
         case 4:
             // username-domain
             $domain = substr(strrchr($username, "-"), 1);
             break;
         case 5:
             // domain-username
             $domain = str_replace(strrchr($username, "-"), "", $username);
             break;
         case 6:
             // username_domain
             $domain = substr(strrchr($username, "_"), 1);
             break;
         case 7:
             // domain_username
             $pieces = explode("_", $username);
             $domain = $pieces[0];
             break;
         default:
             // username@domain
             $domain = substr(strrchr($username, "@"), 1);
     }
     if (!$domain) {
         $domain = $rcmail->user->get_username('domain');
     }
     $username = escapeshellcmd($username);
     $domain = escapeshellcmd($domain);
     $newpass = escapeshellcmd($newpass);
     $curdir = RCUBE_PLUGINS_DIR . 'password/helpers';
     exec("{$curdir}/chgvirtualminpasswd modify-user --domain {$domain} --user {$username} --pass {$newpass}", $output, $returnvalue);
     if ($returnvalue == 0) {
         return PASSWORD_SUCCESS;
     } else {
         rcube::raise_error(array('code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "Password plugin: Unable to execute {$curdir}/chgvirtualminpasswd"), true, false);
     }
     return PASSWORD_ERROR;
 }
开发者ID:rcg2015,项目名称:roundcubemail,代码行数:56,代码来源:virtualmin.php

示例5: __construct

 /**
  * Object constructor
  *
  * @param string $db_dsnw DSN for read/write operations
  * @param string $db_dsnr Optional DSN for read only operations
  * @param bool   $pconn   Enables persistent connections
  */
 public function __construct($db_dsnw, $db_dsnr = '', $pconn = false)
 {
     if (version_compare(PHP_VERSION, '5.3.0', '<')) {
         rcube::raise_error(array('code' => 600, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, 'message' => "MySQL driver requires PHP >= 5.3, current version is " . PHP_VERSION), true, true);
     }
     parent::__construct($db_dsnw, $db_dsnr, $pconn);
     // SQL identifiers quoting
     $this->options['identifier_start'] = '`';
     $this->options['identifier_end'] = '`';
 }
开发者ID:rasky,项目名称:roundcubemail,代码行数:17,代码来源:rcube_db_mysql.php

示例6: __construct

 /**
  * Constructor
  *
  * @param string $lang Language code
  */
 function __construct($lang = 'en')
 {
     $this->rc = rcube::get_instance();
     $this->engine = $this->rc->config->get('spellcheck_engine', 'googie');
     $this->lang = $lang ? $lang : 'en';
     if ($this->engine == 'pspell' && !extension_loaded('pspell')) {
         rcube::raise_error(array('code' => 500, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "Pspell extension not available"), true, true);
     }
     $this->options = array('ignore_syms' => $this->rc->config->get('spellcheck_ignore_syms'), 'ignore_nums' => $this->rc->config->get('spellcheck_ignore_nums'), 'ignore_caps' => $this->rc->config->get('spellcheck_ignore_caps'), 'dictionary' => $this->rc->config->get('spellcheck_dictionary'));
 }
开发者ID:npk,项目名称:roundcubemail,代码行数:15,代码来源:rcube_spellchecker.php

示例7: __construct

 /**
  * @param Object $config
  */
 public function __construct($config)
 {
     parent::__construct($config);
     $this->memcache = rcube::get_instance()->get_memcache();
     $this->debug = $config->get('memcache_debug');
     if (!$this->memcache) {
         rcube::raise_error(array('code' => 604, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, 'message' => "Failed to connect to memcached. Please check configuration"), true, true);
     }
     // register sessions handler
     $this->register_session_handler();
 }
开发者ID:JotapePinheiro,项目名称:roundcubemail,代码行数:14,代码来源:rcube_session_memcache.php

示例8: _do_list

 private function _do_list($uids, $spam)
 {
     $rcmail = rcube::get_instance();
     $this->sa_user = $rcmail->config->get('sauserprefs_userid', "%u");
     $this->sa_table = $rcmail->config->get('sauserprefs_sql_table_name');
     $this->sa_username_field = $rcmail->config->get('sauserprefs_sql_username_field');
     $this->sa_preference_field = $rcmail->config->get('sauserprefs_sql_preference_field');
     $this->sa_value_field = $rcmail->config->get('sauserprefs_sql_value_field');
     $identity_arr = $rcmail->user->get_identity();
     $identity = $identity_arr['email'];
     $this->sa_user = str_replace('%u', $_SESSION['username'], $this->sa_user);
     $this->sa_user = str_replace('%l', $rcmail->user->get_username('local'), $this->sa_user);
     $this->sa_user = str_replace('%d', $rcmail->user->get_username('domain'), $this->sa_user);
     $this->sa_user = str_replace('%i', $identity, $this->sa_user);
     if (is_file($rcmail->config->get('markasjunk2_sauserprefs_config')) && !$rcmail->config->load_from_file($rcmail->config->get('markasjunk2_sauserprefs_config'))) {
         rcube::raise_error(array('code' => 527, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "Failed to load config from " . $rcmail->config->get('markasjunk2_sauserprefs_config')), true, false);
         return false;
     }
     $db = rcube_db::factory($rcmail->config->get('sauserprefs_db_dsnw'), $rcmail->config->get('sauserprefs_db_dsnr'), $rcmail->config->get('sauserprefs_db_persistent'));
     $db->set_debug((bool) $rcmail->config->get('sql_debug'));
     $db->db_connect('w');
     // check DB connections and exit on failure
     if ($err_str = $db->is_error()) {
         rcube::raise_error(array('code' => 603, 'type' => 'db', 'message' => $err_str), FALSE, TRUE);
     }
     foreach ($uids as $uid) {
         $message = new rcube_message($uid);
         $email = $message->sender['mailto'];
         if ($spam) {
             // delete any whitelisting for this address
             $db->query("DELETE FROM `{$this->sa_table}` WHERE `{$this->sa_username_field}` = ? AND `{$this->sa_preference_field}` = ? AND `{$this->sa_value_field}` = ?;", $this->sa_user, 'whitelist_from', $email);
             // check address is not already blacklisted
             $sql_result = $db->query("SELECT `value` FROM `{$this->sa_table}` WHERE `{$this->sa_username_field}` = ? AND `{$this->sa_preference_field}` = ? AND `{$this->sa_value_field}` = ?;", $this->sa_user, 'blacklist_from', $email);
             if (!$db->fetch_array($sql_result)) {
                 $db->query("INSERT INTO `{$this->sa_table}` (`{$this->sa_username_field}`, `{$this->sa_preference_field}`, `{$this->sa_value_field}`) VALUES (?, ?, ?);", $this->sa_user, 'blacklist_from', $email);
                 if ($rcmail->config->get('markasjunk2_debug')) {
                     rcube::write_log('markasjunk2', $this->sa_user . ' blacklist ' . $email);
                 }
             }
         } else {
             // delete any blacklisting for this address
             $db->query("DELETE FROM `{$this->sa_table}` WHERE `{$this->sa_username_field}` = ? AND `{$this->sa_preference_field}` = ? AND `{$this->sa_value_field}` = ?;", $this->sa_user, 'blacklist_from', $email);
             // check address is not already whitelisted
             $sql_result = $db->query("SELECT `value` FROM `{$this->sa_table}` WHERE `{$this->sa_username_field}` = ? AND `{$this->sa_preference_field}` = ? AND `{$this->sa_value_field}` = ?;", $this->sa_user, 'whitelist_from', $email);
             if (!$db->fetch_array($sql_result)) {
                 $db->query("INSERT INTO `{$this->sa_table}` (`{$this->sa_username_field}`, `{$this->sa_preference_field}`, `{$this->sa_value_field}`) VALUES (?, ?, ?);", $this->sa_user, 'whitelist_from', $email);
                 if ($rcmail->config->get('markasjunk2_debug')) {
                     rcube::write_log('markasjunk2', $this->sa_user . ' whitelist ' . $email);
                 }
             }
         }
     }
 }
开发者ID:nciftci,项目名称:plugins,代码行数:53,代码来源:sa_blacklist.php

示例9: save

 public function save($currpass, $newpass)
 {
     $rcmail = rcmail::get_instance();
     $this->debug = $rcmail->config->get('ldap_debug');
     $cmd = $rcmail->config->get('password_ldap_ppolicy_cmd');
     $uri = $rcmail->config->get('password_ldap_ppolicy_uri');
     $baseDN = $rcmail->config->get('password_ldap_ppolicy_basedn');
     $filter = $rcmail->config->get('password_ldap_ppolicy_search_filter');
     $bindDN = $rcmail->config->get('password_ldap_ppolicy_searchDN');
     $bindPW = $rcmail->config->get('password_ldap_ppolicy_searchPW');
     $cafile = $rcmail->config->get('password_ldap_ppolicy_cafile');
     $log_dir = $rcmail->config->get('log_dir');
     if (empty($log_dir)) {
         $log_dir = RCUBE_INSTALL_PATH . 'logs';
     }
     // try to open specific log file for writing
     $logfile = $log_dir . '/password_ldap_ppolicy.err';
     $descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("file", $logfile, "a"));
     $cmd = 'plugins/password/helpers/' . $cmd;
     $this->_debug("parameters:\ncmd:{$cmd}\nuri:{$uri}\nbaseDN:{$baseDN}\nfilter:{$filter}");
     $process = proc_open($cmd, $descriptorspec, $pipes);
     if (is_resource($process)) {
         // $pipes now looks like this:
         // 0 => writeable handle connected to child stdin
         // 1 => readable handle connected to child stdout
         // Any error output will be appended to /tmp/error-output.txt
         fwrite($pipes[0], $uri . "\n");
         fwrite($pipes[0], $baseDN . "\n");
         fwrite($pipes[0], $filter . "\n");
         fwrite($pipes[0], $bindDN . "\n");
         fwrite($pipes[0], $bindPW . "\n");
         fwrite($pipes[0], $_SESSION['username'] . "\n");
         fwrite($pipes[0], $currpass . "\n");
         fwrite($pipes[0], $newpass . "\n");
         fwrite($pipes[0], $cafile);
         fclose($pipes[0]);
         $result = stream_get_contents($pipes[1]);
         fclose($pipes[1]);
         $this->_debug('Result:' . $result);
         switch ($result) {
             case "OK":
                 return PASSWORD_SUCCESS;
             case "Password is in history of old passwords":
                 return PASSWORD_IN_HISTORY;
             case "Cannot connect to any server":
                 return PASSWORD_CONNECT_ERROR;
             default:
                 rcube::raise_error(array('code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => $result), true, false);
         }
         return PASSWORD_ERROR;
     }
 }
开发者ID:jimjag,项目名称:roundcubemail,代码行数:52,代码来源:ldap_ppolicy.php

示例10: render

 function render($args)
 {
     $this->include_script($this->local_skin_path() . '/threecol.js');
     $this->include_stylesheet($this->local_skin_path() . '/threecol.css');
     if (is_readable($this->driver)) {
         include_once $this->driver;
         if (!function_exists('render_page')) {
             rcube::raise_error(array('code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "ThreeCol plugin: Broken driver: {$this->driver}"), true, false);
         }
         $args = render_page($args);
     }
     return $args;
 }
开发者ID:namesco,项目名称:threecol,代码行数:13,代码来源:threecol.php

示例11: factory

 /**
  * Factory, returns driver-specific instance of the class
  *
  * @param object $config
  * @return Object rcube_session
  */
 public static function factory($config)
 {
     // get session storage driver
     $storage = $config->get('session_storage', 'db');
     // class name for this storage
     $class = "rcube_session_" . $storage;
     // try to instantiate class
     if (class_exists($class)) {
         return new $class($config);
     }
     // no storage found, raise error
     rcube::raise_error(array('code' => 604, 'type' => 'session', 'line' => __LINE__, 'file' => __FILE__, 'message' => "Failed to find session driver. Check session_storage config option"), true, true);
 }
开发者ID:Enclavet,项目名称:roundcubemail,代码行数:19,代码来源:rcube_session.php

示例12: save

 function save($currpass, $newpass)
 {
     $curdir = RCUBE_PLUGINS_DIR . 'password/helpers';
     $username = escapeshellcmd($_SESSION['username']);
     $args = rcmail::get_instance()->config->get('password_dbmail_args', '');
     exec("{$curdir}/chgdbmailusers -c {$username} -w {$newpass} {$args}", $output, $returnvalue);
     if ($returnvalue == 0) {
         return PASSWORD_SUCCESS;
     } else {
         rcube::raise_error(array('code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "Password plugin: Unable to execute {$curdir}/chgdbmailusers"), true, false);
     }
     return PASSWORD_ERROR;
 }
开发者ID:alecchisi,项目名称:roundcubemail,代码行数:13,代码来源:dbmail.php

示例13: save

 public function save($currpass, $newpass)
 {
     $cmd = rcmail::get_instance()->config->get('password_chpasswd_cmd');
     $username = $_SESSION['username'];
     $handle = popen($cmd, "w");
     fwrite($handle, "{$username}:{$newpass}\n");
     if (pclose($handle) == 0) {
         return PASSWORD_SUCCESS;
     } else {
         rcube::raise_error(array('code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "Password plugin: Unable to execute {$cmd}"), true, false);
     }
     return PASSWORD_ERROR;
 }
开发者ID:bbspike,项目名称:sentora-core,代码行数:13,代码来源:chpasswd.php

示例14: save

 function save($currpass, $newpass)
 {
     $curdir = RCUBE_PLUGINS_DIR . 'password/helpers';
     $username = escapeshellcmd($_SESSION['username']);
     $args = rcmail::get_instance()->config->get('password_saslpasswd_args', '');
     if ($fh = popen("{$curdir}/chgsaslpasswd -p {$args} {$username}", 'w')) {
         fwrite($fh, $newpass . "\n");
         $code = pclose($fh);
         if ($code == 0) {
             return PASSWORD_SUCCESS;
         }
     } else {
         rcube::raise_error(array('code' => 600, 'type' => 'php', 'file' => __FILE__, 'line' => __LINE__, 'message' => "Password plugin: Unable to execute {$curdir}/chgsaslpasswd"), true, false);
     }
     return PASSWORD_ERROR;
 }
开发者ID:bbspike,项目名称:sentora-core,代码行数:16,代码来源:sasl.php

示例15: conn_configure

 /**
  * Configure connection, create database if not exists
  */
 protected function conn_configure($dsn, $dbh)
 {
     // Initialize database structure in file is empty
     if (!empty($dsn['database']) && !filesize($dsn['database'])) {
         $data = file_get_contents(RCUBE_INSTALL_PATH . 'SQL/sqlite.initial.sql');
         if (strlen($data)) {
             $this->debug('INITIALIZE DATABASE');
             $q = $dbh->exec($data);
             if ($q === false) {
                 $error = $dbh->errorInfo();
                 $this->db_error = true;
                 $this->db_error_msg = sprintf('[%s] %s', $error[1], $error[2]);
                 rcube::raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, 'message' => $this->db_error_msg), true, false);
             }
         }
     }
 }
开发者ID:Bergdahls,项目名称:YetiForceCRM,代码行数:20,代码来源:rcube_db_sqlite.php


注:本文中的rcube::raise_error方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。