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


PHP rcube_db::is_replicated方法代码示例

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


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

示例1: array

 /**
  * Write the given user prefs to the user's record
  *
  * @param array $a_user_prefs User prefs to save
  * @param bool  $no_session   Simplified language/preferences handling
  *
  * @return boolean True on success, False on failure
  */
 function save_prefs($a_user_prefs, $no_session = false)
 {
     if (!$this->ID) {
         return false;
     }
     $plugin = $this->rc->plugins->exec_hook('preferences_update', array('userid' => $this->ID, 'prefs' => $a_user_prefs, 'old' => (array) $this->get_prefs()));
     if (!empty($plugin['abort'])) {
         return;
     }
     $a_user_prefs = $plugin['prefs'];
     $old_prefs = $plugin['old'];
     $config = $this->rc->config;
     // merge (partial) prefs array with existing settings
     $save_prefs = $a_user_prefs + $old_prefs;
     unset($save_prefs['language']);
     // don't save prefs with default values if they haven't been changed yet
     foreach ($a_user_prefs as $key => $value) {
         if ($value === null || !isset($old_prefs[$key]) && $value == $config->get($key)) {
             unset($save_prefs[$key]);
         }
     }
     $save_prefs = serialize($save_prefs);
     if (!$no_session) {
         $this->language = $_SESSION['language'];
     }
     $this->db->query("UPDATE " . $this->db->table_name('users') . " SET preferences = ?" . ", language = ?" . " WHERE user_id = ?", $save_prefs, $this->language, $this->ID);
     // Update success
     if ($this->db->affected_rows() !== false) {
         $this->data['preferences'] = $save_prefs;
         if (!$no_session) {
             $config->set_user_prefs($a_user_prefs);
             if (isset($_SESSION['preferences'])) {
                 $this->rc->session->remove('preferences');
                 $this->rc->session->remove('preferences_time');
             }
         }
         return true;
     } else {
         if (!$no_session && $this->db->is_replicated() && $config->get('session_storage', 'db') != 'db') {
             $_SESSION['preferences'] = $save_prefs;
             $_SESSION['preferences_time'] = time();
             $config->set_user_prefs($a_user_prefs);
             $this->data['preferences'] = $save_prefs;
         }
     }
     return false;
 }
开发者ID:gOOvER,项目名称:EasySCP,代码行数:55,代码来源:rcube_user.php


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