users
[ class tree: users ] [ index: users ] [ all elements ]

Source for file preferences.php

Documentation is available at preferences.php

  1. <?php
  2. /**
  3.  * $Header: /cvsroot/bitweaver/_bit_users/preferences.php,v 1.39 2006/11/10 16:51:46 spiderr Exp $
  4.  *
  5.  * Copyright (c) 2004 bitweaver.org
  6.  * Copyright (c) 2003 tikwiki.org
  7.  * Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al.
  8.  * All Rights Reserved. See copyright.txt for details and a complete list of authors.
  9.  * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details
  10.  *
  11.  * $Id: preferences.php,v 1.39 2006/11/10 16:51:46 spiderr Exp $
  12.  * @package users
  13.  * @subpackage functions
  14.  */
  15.  
  16. /**
  17.  * required setup
  18.  */
  19. require_once'../bit_setup_inc.php' );
  20.  
  21. if$gBitSystem->isPackageActive'wiki' ) ) {
  22.     include_onceWIKI_PKG_PATH.'BitPage.php' );
  23. }
  24. if$gBitSystem->isPackageActive'blogs' ) ) {
  25.     include_onceBLOGS_PKG_PATH.'BitBlog.php' );
  26. }
  27.  
  28. // User preferences screen
  29. $gBitSystem->verifyFeature'users_preferences' );
  30.  
  31. if!$gBitUser->isRegistered() ) {
  32.     $gBitSmarty->assign'msg'tra"You are not logged in" ) );
  33.     $gBitSystem->display'error.tpl' );
  34.     die;
  35. }
  36.  
  37. if!empty$_REQUEST["view_user"&& $_REQUEST["view_user"<> $gBitUser->mUserId{
  38.     $gBitSystem->verifyPermission'p_users_admin' );
  39.     $userClass $gBitSystem->getConfig'user_class''BitPermUser' );
  40.     $editUser new $userClass$_REQUEST["view_user");
  41.     $editUser->loadTRUE );
  42.     $gBitSmarty->assign('view_user'$_REQUEST["view_user"]);
  43.     $watches $editUser->getWatches();
  44.     $gBitSmarty->assign('watches'$watches);
  45. else {
  46.     $gBitUser->loadTRUE );
  47.     $editUser &$gBitUser;
  48. }
  49.  
  50. global $gQueryUserId;
  51. $gQueryUserId &$editUser->mUserId;
  52.  
  53. $foo parse_url($_SERVER["REQUEST_URI"]);
  54. if$gBitSystem->isPackageActive'wiki' ) ) {
  55.     $foo1 str_replaceUSERS_PKG_URL."user_preferences"WIKI_PKG_URL."edit"$foo["path");
  56.     $foo2 str_replaceUSERS_PKG_URL."user_preferences"WIKI_PKG_URL."index"$foo["path");
  57.     $gBitSmarty->assign('url_edit'httpPrefix()$foo1);
  58.     $gBitSmarty->assign('url_visit'httpPrefix()$foo2);
  59. }
  60. if$gBitSystem->isFeatureActive'custom_user_fields' ) ) {
  61.     $customFieldsexplode','$gBitSystem->getConfig'custom_user_fields' )  );
  62.     $gBitSmarty->assign('customFields'$customFields);
  63. }
  64.  
  65. $packages array();
  66. foreach ($gBitSystem->mPackages as $package{
  67.     if ($gBitSystem->isPackageActive$package['name')) {
  68.         $php_file $package['path'].'user_preferences_inc.php';
  69.         $tpl_file $package['path'].'templates/user_preferences_inc.tpl';
  70.         if (file_exists($tpl_file)) {
  71.             if (file_exists($php_file))  {
  72.                 require($php_file);
  73.             }
  74.             $p=array();
  75.             $p['template'$tpl_file;
  76.             $packages[$p;
  77.         }
  78.     }
  79. }
  80. $gBitSmarty->assign_by_ref('packages',$packages);
  81.  
  82. $gBitLanguage->mLanguage $editUser->getPreference'bitlanguage'$gBitLanguage->mLanguage);
  83. $gBitSmarty->assign'gBitLanguage'$gBitLanguage );
  84. if (isset($_REQUEST["prefs"])) {
  85.     if (isset($_REQUEST["real_name"])) {
  86.         $editUser->store$_REQUEST );
  87.     }
  88.     if (isset($_REQUEST["users_bread_crumb"])) {
  89.         $editUser->storePreference'users_bread_crumb'$_REQUEST["users_bread_crumb"]'users');
  90.     }
  91.     if (isset($_REQUEST["users_homepage"])) {
  92.         $editUser->storePreference'users_homepage'$_REQUEST["users_homepage"]'users');
  93.     }
  94.     if$gBitSystem->isFeatureActive'users_change_language' ) ) {
  95.         if (isset($_REQUEST["language"])) {
  96.             $editUser->storePreference'bitlanguage'$_REQUEST["language"]'languages');
  97.         }
  98.     }
  99.     ifisset$_REQUEST["style") ) {
  100.         $gBitSmarty->assign('style'$_REQUEST["style"]);
  101.     }
  102.     ifisset$_REQUEST['site_display_timezone') ) {
  103.         $editUser->storePreference'site_display_timezone'$_REQUEST['site_display_timezone']'users');
  104.         $gBitSmarty->assign_by_ref('site_display_timezone'$_REQUEST['site_display_timezone']'users');
  105.     }
  106.     $editUser->storePreference'users_country'$_REQUEST["users_country"]'users' );
  107.     $editUser->storePreference'users_information'$_REQUEST['users_information']'users');
  108.     ifisset($_REQUEST['users_double_click']&& $_REQUEST['users_double_click'== 'on' {
  109.         $editUser->storePreference'users_double_click''y''users');
  110.         $gBitSmarty->assign('users_double_click''y');
  111.     else {
  112.         $editUser->storePreference'users_double_click''n''users');
  113.         $gBitSmarty->assign('users_double_click''n');
  114.     }
  115.     ifisset$customFields && is_array$customFields ) ) {
  116.         foreach$customFields as $f {
  117.             ifisset$_REQUEST['CUSTOM'][$f) ) {
  118.                 $editUser->storePreferencetrim$f )trim$_REQUEST['CUSTOM'][$f)'users' );
  119.             }
  120.         }
  121.     }
  122.  
  123.     $users_email_display = isset($_REQUEST['users_email_display']$_REQUEST['users_email_display']'n';
  124.     $editUser->storePreference'users_email_display'$users_email_display'users');
  125.     if (isset($_REQUEST['view_user'])) {
  126.         header ("location: ".USERS_PKG_URL."preferences.php?view_user=$editUser->mUserId");
  127.     else {
  128.         header ("location: ".USERS_PKG_URL."preferences.php");
  129.     }
  130.     die;
  131. }
  132.  
  133. if (isset($_REQUEST['chgemail'])) {
  134.     // check user's password
  135.     if!$gBitUser->hasPermission'p_users_admin' && !$editUser->validate$editUser->mUsername$_REQUEST['pass']'''' ) ) {
  136.         $gBitSystem->fatalErrortra("Invalid password.  Your current password is required to change your email address.") );
  137.     }
  138.     if$editUser->change_user_email$editUser->mUserId$editUser->mUsername$_REQUEST['email']$_REQUEST['pass') ) {
  139.         $gBitSmarty->assign'successMsg'tra'Your email address was updated successfully' ) );
  140.         #make sure udpated value appears on screen repaint
  141.         $editUser->mInfo['email'$_REQUEST['email'];
  142.     }
  143. }
  144. if (isset($_REQUEST["chgpswd"])) {
  145.     if$_REQUEST["pass1"!= $_REQUEST["pass2"{
  146.         $gBitSystem->fatalErrortra("The passwords didn't match") );
  147.     }
  148.     if!$gBitUser->hasPermission'p_users_admin' && !$editUser->validate$editUser->mUsername$_REQUEST["old"]'''' ) ) {
  149.         $gBitSystem->fatalErrortra"Invalid old password" ) );
  150.     }
  151.     //Validate password here
  152.     $users_min_pass_length $gBitSystem->getConfig'users_min_pass_length');
  153.     if (strlen($_REQUEST["pass1"]$users_min_pass_length {
  154.         $gBitSystem->fatalErrortra("Password should be at least")' ' $users_min_pass_length ' ' tra("characters long") );
  155.     }
  156.     // Check this code
  157.     if$gBitSystem->isFeatureActive'users_pass_chr_num' ) ) {
  158.         if (!preg_match_all("/[0-9]+/"$_REQUEST["pass1"]$foo|| !preg_match_all("/[A-Za-z]+/"$_REQUEST["pass1"]$foo)) {
  159.             $gBitSystem->fatalError(tra("Password must contain both letters and numbers") );
  160.         }
  161.     }
  162.     if$editUser->storePassword$_REQUEST["pass1") ) {
  163.         $gBitSmarty->assign'successMsg'tra'The password was updated successfully' ) );
  164.     }
  165. }
  166.  
  167.  
  168. if (isset($_REQUEST['tasksprefs'])) {
  169.     $editUser->storePreference'tasks_max_records'$_REQUEST['tasks_max_records']'users');
  170.     if (isset($_REQUEST['tasks_use_dates']&& $_REQUEST['tasks_use_dates'== 'on'{
  171.         $editUser->storePreference'tasks_use_dates''y''users');
  172.     else {
  173.         $editUser->storePreference'tasks_use_dates''n''users');
  174.     }
  175. }
  176.  
  177. $gBitSmarty->assign_by_ref('userInfo'$editUser->mInfo );
  178. $gBitSmarty->assign_by_ref('userPrefs'$editUser->mPrefs );
  179. $languages array();
  180. $languages $gBitLanguage->listLanguages();
  181. $gBitSmarty->assign_by_ref('languages'$languages);
  182.  
  183. // Get flags here
  184. $flags array();
  185. $h opendirUSERS_PKG_PATH.'icons/flags/' );
  186. while ($file readdir($h)) {
  187.     if (strstr($file".gif")) {
  188.         $parts explode('.'$file);
  189.         $flags[$parts[0];
  190.     }
  191. }
  192. closedir ($h);
  193. sort ($flags);
  194. $gBitSmarty->assign('flags'$flags);
  195.  
  196. $editUser->mInfo['users_bread_crumb'$editUser->getPreference'users_bread_crumb'$gBitSystem->getConfig('users_bread_crumb'4) );
  197. $editUser->mInfo['users_homepage'$editUser->getPreference'users_homepage''');
  198.  
  199. $gBitSmarty->assign'editUser'$editUser->mInfo );
  200.  
  201. // Get preferences
  202. //SPIDERKILL $style = $editUser->getPreference( 'theme', $style);
  203. //SPIDERKILL $gBitSmarty->assign_by_ref('style', $style);
  204.  
  205. $real_name $editUser->mInfo["real_name"];
  206. $gBitSmarty->assign('users_email_display'$editUser->getPreference'users_email_display''n'));
  207. $scramblingMethods array("n""strtr""unicode""x")// users_email_display utilizes 'n'
  208. $gBitSmarty->assign_by_ref('scramblingMethods'$scramblingMethods);
  209. $scramblingEmails array(tra("no")scrambleEmail($editUser->mInfo['email']'strtr')scrambleEmail($editUser->mInfo['email']'unicode')."-".tra("unicode")scrambleEmail($editUser->mInfo['email']'x'));
  210. $gBitSmarty->assign_by_ref('scramblingEmails'$scramblingEmails);
  211. //$timezone_options = $gBitSystem->get_timezone_list(true);
  212. //$gBitSmarty->assign_by_ref('timezone_options',$timezone_options);
  213. //$server_time = new Date();
  214.  
  215.  
  216.  
  217. $site_display_timezone $editUser->getPreference'site_display_timezone'"UTC");
  218. if ($site_display_timezone != "UTC"{
  219.     $site_display_timezone "Local";
  220. }
  221.  
  222. $gBitSmarty->assign_by_ref('site_display_timezone'$site_display_timezone);
  223.  
  224. $gBitSystem->display'bitpackage:users/user_preferences.tpl''Edit User Preferences');
  225. ?>

Documentation generated on Thu, 15 Feb 2007 20:47:22 +0000 by phpDocumentor 1.3.0