Ejemplo n.º 1
0
 public function loadSearchParameters()
 {
     if (!isset($_SESSION['property_search'])) {
         $_SESSION['property_search'] = unserialize(\PHPWS_Cookie::read('property_search'));
     }
     return $_SESSION['property_search'];
 }
Ejemplo n.º 2
0
function check_cookie()
{
    $cookie = PHPWS_Cookie::read('cookie_enabled');
    if (!$cookie) {
        if (!isset($_GET['cc'])) {
            PHPWS_Cookie::write('cookie_enabled', 'y');
            PHPWS_Core::reroute('index.php?cc=1');
        } else {
            $tpl['MESSAGE'] = dgettext('layout', 'This site requires you to enable cookies on your browser.');
            $message = PHPWS_Template::process($tpl, 'layout', 'no_cookie.tpl');
            Layout::nakedDisplay($message);
        }
    }
}
Ejemplo n.º 3
0
 public static function user_form()
 {
     $form = new PHPWS_Form();
     My_Page::addHidden($form, 'layout');
     $form->addHidden('lo_command', 'save_settings');
     $css = Layout::getAlternateStyles();
     if ($css) {
         $form->addSelect('alternate', $css);
         $form->setMatch('alternate', PHPWS_Cookie::read('layout_style'));
         $form->setLabel('alternate', dgettext('layout', 'Available styles'));
         $form->addSubmit(dgettext('layout', 'Save settings'));
     } else {
         $blank = dgettext('layout', 'No alternate style sheets available.');
         return $blank;
     }
     $template = $form->getTemplate();
     return PHPWS_Template::process($template, 'layout', 'user_form.tpl');
 }
Ejemplo n.º 4
0
 public static function userForm(PHPWS_User $user, $message = NULL)
 {
     require_once PHPWS_SOURCE_DIR . 'core/class/Time.php';
     javascript('jquery');
     $form = new PHPWS_Form();
     $form->addHidden('module', 'users');
     $form->addHidden('action', 'user');
     $form->addHidden('command', 'my_page');
     $form->addHidden('subcommand', 'postUser');
     if (Current_User::allow('users') || $user->display_name == $user->username) {
         $form->addText('display_name', $user->display_name);
         $form->setClass('display_name', 'form-control');
         $form->setLabel('display_name', dgettext('users', 'Display Name'));
     } else {
         $form->addTplTag('DISPLAY_NAME_LABEL', dgettext('users', 'Display Name'));
         $tpl['DISPLAY_NAME'] = javascript('slider', array('link' => $user->display_name, 'id' => 'name-info', 'message' => dgettext('users', 'Once you change your display name, you may not change it again until reset by the site administrator.')));
     }
     if ($user->canChangePassword()) {
         $form->addPassword('password1');
         $form->setAutoComplete('password1');
         $form->setClass('password1', 'form-control');
         $form->addPassword('password2');
         $form->setAutoComplete('password2');
         $form->setClass('password2', 'form-control');
         $form->setTitle('password2', dgettext('users', 'Password confirm'));
         $form->setLabel('password1', dgettext('users', 'Password'));
     } else {
         $tpl['PASSWORD1_LABEL'] = dgettext('users', 'Password');
         $tpl['PASSWORD1'] = javascript('slider', array('link' => dgettext('users', 'Why can\'t I change my password?'), 'id' => 'pw-info', 'message' => dgettext('users', 'Your account is authorized external to this site. You will need to update it at the source.')));
     }
     $form->addText('email', $user->getEmail());
     $form->setSize('email', 40);
     $form->setLabel('email', dgettext('users', 'Email Address'));
     $form->setClass('email', 'form-control');
     if (isset($tpl)) {
         $form->mergeTemplate($tpl);
     }
     $tz_list = PHPWS_Time::getTZList();
     $timezones['server'] = dgettext('users', '-- Use server\'s time zone --');
     foreach ($tz_list as $tz) {
         if (!empty($tz['codes'])) {
             $timezones[$tz['id']] = sprintf('%s : %s', $tz['id'], $tz['codes'][0]);
         } elseif (!empty($tz['city'])) {
             $timezones[$tz['id']] = sprintf('%s : %s', $tz['id'], $tz['city'][0]);
         } else {
             $timezones[$tz['id']] = $tz['id'];
         }
     }
     if (isset($_REQUEST['timezone'])) {
         $user_tz = $_REQUEST['timezone'];
     } else {
         $user_tz = PHPWS_Cookie::read('user_tz');
     }
     $form->addSelect('timezone', $timezones);
     $form->setLabel('timezone', dgettext('users', 'Time Zone'));
     $form->setMatch('timezone', $user_tz);
     $form->setClass('timezone', 'form-control');
     if (isset($_REQUEST['dst']) && $_REQUEST['timezone'] != 'server') {
         $dst = $_REQUEST['dst'];
     } else {
         $dst = PHPWS_Cookie::read('user_dst');
     }
     $form->addCheckbox('dst', 1);
     $form->setMatch('dst', $dst);
     $form->setLabel('dst', dgettext('users', 'Use Daylight Savings Time'));
     if (isset($_POST['cp'])) {
         $cp = (int) $_POST['cp'];
     } else {
         $cp = (int) PHPWS_Cookie::read('user_cp');
     }
     if (Current_User::allowRememberMe()) {
         // User must authorize locally
         if ($_SESSION['User']->authorize == 1) {
             $form->addCheckbox('remember_me', 1);
             if (PHPWS_Cookie::read('remember_me')) {
                 $form->setMatch('remember_me', 1);
             }
             $form->setLabel('remember_me', dgettext('users', 'Remember me'));
         }
     }
     $form->addHidden('userId', $user->getId());
     $form->addSubmit('submit', dgettext('users', 'Update my information'));
     $form->setClass('submit', 'btn btn-primary');
     if (!DISABLE_TRANSLATION && !FORCE_DEFAULT_LANGUAGE) {
         $language_file = PHPWS_Core::getConfigFile('users', 'languages.php');
         if ($language_file) {
             include $language_file;
             $form->addSelect('language', $languages);
             $form->setClass('language', 'form-control');
             $form->setLabel('language', dgettext('users', 'Language preference'));
             if (isset($_COOKIE['phpws_default_language'])) {
                 $language = preg_replace('/\\W/', '', $_COOKIE['phpws_default_language']);
                 $form->setMatch('language', $language);
             }
         }
     }
     $template = $form->getTemplate();
     if (isset($message)) {
         foreach ($message as $tag => $error) {
             $template[$tag] = $error;
         }
     }
     $template['ACCT_INFO'] = dgettext('users', 'Account Information');
     $template['LOCAL_INFO'] = dgettext('users', 'Localization');
     $template['PREF'] = dgettext('users', 'Preferences');
     return PHPWS_Template::process($template, 'users', 'my_page/user_setting.tpl');
 }
Ejemplo n.º 5
0
 public static function getUserType()
 {
     if ($user_type = PHPWS_Cookie::read('phpws_editor')) {
         if ($user_type == 'none') {
             return null;
         }
         // prevent shenanigans
         if (preg_match('/\\W/', $user_type)) {
             return DEFAULT_EDITOR_TOOL;
         }
         if (Editor::isType($user_type)) {
             return $user_type;
         } else {
             PHPWS_Cookie::delete('phpws_editor');
         }
     }
     return DEFAULT_EDITOR_TOOL;
 }
Ejemplo n.º 6
0
 public function loadStyleSheets($themeVars)
 {
     $this->_extra_styles = null;
     $this->_style_sheets = null;
     $directory = sprintf('themes/%s/', $this->current_theme);
     @($cookie = PHPWS_Cookie::read('layout_style'));
     for ($i = 1; $i < 20; $i++) {
         if (isset($themeVars['style_sheet_' . $i])) {
             $style =& $themeVars['style_sheet_' . $i];
             $style_file = $style['file'];
             $style['file'] = $directory . $style['file'];
             // If the cookie is set, the alternate style sheet then becomes
             // a primary. The primary becomes an alternate.
             if ($cookie && is_file($directory . $cookie)) {
                 if (isset($style['title'])) {
                     if ($cookie == $style_file) {
                         $style['alternate'] = false;
                     } else {
                         $style['alternate'] = true;
                     }
                 }
             }
             $this->_style_sheets[] = $style;
         } else {
             break;
         }
     }
     if (isset($themeVars['extra_styles'])) {
         $this->_extra_styles =& $themeVars['extra_styles'];
     }
 }
Ejemplo n.º 7
0
 public function hidePanelLink()
 {
     if (PHPWS_Cookie::read('checkin_hide_panel') || $this->use_panel == false) {
         $this->use_panel = false;
         return PHPWS_Text::moduleLink(dgettext('checkin', 'Show panel'), 'checkin', array('aop' => 'show_panel'));
     } else {
         return PHPWS_Text::moduleLink(dgettext('checkin', 'Hide panel'), 'checkin', array('aop' => 'hide_panel'));
     }
 }
Ejemplo n.º 8
0
 /**
  * Get user's timezone or the server time zone if none is
  * set
  */
 public static function getUserTZ()
 {
     $user_tz = PHPWS_Cookie::read('user_tz');
     if (!isset($user_tz)) {
         return PHPWS_Time::getServerTZ();
     } else {
         $user_dst = PHPWS_Cookie::read('user_dst');
         if (!isset($user_dst)) {
             return $user_tz;
         } else {
             return $user_tz + date('I');
         }
     }
 }
Ejemplo n.º 9
0
 public static function rememberLogin()
 {
     if (!isset($_SESSION['User'])) {
         return false;
     }
     $remember = PHPWS_Cookie::read('remember_me');
     if (!$remember) {
         return false;
     }
     $rArray = @unserialize($remember);
     if (!is_array($rArray)) {
         return false;
     }
     if (!isset($rArray['username']) || !isset($rArray['password'])) {
         return false;
     }
     if (preg_match('/\\W/', $rArray['password'])) {
         return false;
     }
     $username = strtolower($rArray['username']);
     if (preg_match('/\'|"/', html_entity_decode($username, ENT_QUOTES))) {
         Security::log(dgettext('users', 'User tried to login using Remember Me with a malformed cookie.'));
         return false;
     }
     $db = new PHPWS_DB('user_authorization');
     $db->addWhere('username', $username);
     $db->addWhere('password', $rArray['password']);
     $result = $db->select('row');
     if (!$result) {
         return false;
     } elseif (PHPWS_Error::isError($result)) {
         PHPWS_Error::log($result);
         return false;
     }
     $db2 = new PHPWS_DB('users');
     $db2->addWhere('username', $username);
     $db2->addWhere('approved', 1);
     $db2->addWhere('active', 1);
     if (!ALLOW_DEITY_REMEMBER_ME) {
         $db2->addWhere('deity', 0);
     }
     $result = $db2->loadObject($_SESSION['User']);
     if (!$result) {
         return false;
     } elseif (PHPWS_Error::isError($result)) {
         PHPWS_Error::log($result);
         return false;
     }
     $_SESSION['User']->login();
     return true;
 }