/** * Load the stored user preferences from the database into cache * * @param integer $user_id User ID, 0 for default preferences * * @return void */ static function loadPrefs($user_id = null) { $ds = CSQLDataSource::get("std"); if ($ds->loadField("user_preferences", "pref_name")) { // Former pure SQL system $query = "SELECT pref_name, pref_value\n FROM user_preferences\n WHERE pref_user = '******'"; $user_prefs = $ds->loadHashList($query); } else { // Latter object oriented system $user_prefs = CPreferences::get($user_id); } self::$instance->user_prefs = array_merge(self::$instance->user_prefs, $user_prefs); }
* $Id: vw_functional_perms.php 24154 2014-07-24 14:17:58Z kgrisel $ * * @package Mediboard * @subpackage admin * @version $Revision: 24154 $ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ CCanDo::checkEdit(); $user_id = CCanDo::edit() ? CValue::getOrSession("user_id", "default") : null; $user = CUser::get($user_id); $prof = $user->profile_id ? CUser::get($user->profile_id) : new CUser(); if ($user_id == "default") { $user->_id = null; } $prefvalues = array("default" => CPreferences::get(null, true), "template" => $user->profile_id ? CPreferences::get($user->profile_id, true) : array(), "user" => $user->_id !== "" ? CPreferences::get($user->_id, true) : array()); // common sera toujours au debut $prefs = array("common" => array()); // Classement par module et par permission fonctionnelle CPreferences::loadModules(true); foreach (CPreferences::$modules as $modname => $prefnames) { $module = CModule::getActive($modname); $canRead = $module ? CPermModule::getPermModule($module->_id, PERM_READ, $user_id) : false; if ($modname == "common" || $user_id == "default" || $canRead) { $prefs[$modname] = array(); foreach ($prefnames as $prefname) { $prefs[$modname][$prefname] = array("default" => CMbArray::extract($prefvalues["default"], $prefname), "template" => CMbArray::extract($prefvalues["template"], $prefname), "user" => CMbArray::extract($prefvalues["user"], $prefname)); } } } // Warning: user clone necessary!
$where["source_pop_id"] = " = '{$account_id}'"; } $order = "'last_update' ASC"; $limit = "0, {$nbAccount}"; $sources = $source->loadList($where, $order, $limit); /** @var $sources CSourcePOP[] */ foreach ($sources as $_source) { $user = $_source->loadRefMetaObject(); //no user => next if (!$_source->user) { CAppUI::stepAjax("pas d'utilisateur pour cette source %s", UI_MSG_WARNING, $_source->_view); continue; } // when a mail is copied in mediboard, will it be marked as read on the server ? $markReadServer = 0; $prefs = CPreferences::get($_source->object_id); //for user_id $markReadServer = isset($prefs["markMailOnServerAsRead"]) ? $prefs["markMailOnServerAsRead"] : CAppUI::pref("markMailOnServerAsRead"); $archivedOnReception = isset($prefs["mailReadOnServerGoToArchived"]) ? $prefs["mailReadOnServerGoToArchived"] : CAppUI::pref("mailReadOnServerGoToArchived"); //last email uid from mediboard $mbMailUid = CUserMail::getLastMailUid($_source->_id) ? CUserMail::getLastMailUid($_source->_id) : 0; // last email datetime if ($import) { $firstEmailDate = CUserMail::getFirstMailDate($_source->_id); $firstCheck = $firstEmailDate; $firstCheck = CMbDT::dateTime("+1 DAY", $firstCheck); $month_number = CMbDT::format($firstCheck, "%m"); $month = reset(array_keys(CFTP::$month_to_number, $month_number)); $dateIMAP = CMbDT::format($firstCheck, "%d-{$month}-%Y"); } else { $lastEmailDate = CUserMail::getLastMailDate($_source->_id);