'', 'ldap_port' => '', 'ldap_basedn' => '', 'ldap_protocol' => '', 'ldap_autocreate' => '', 'ldap_tls' => '', 'ldap_transfer_attr' => '', 'ldap_transfer_pw' => ''); private $_urls=array( 'login'=>array('//user/user'), 'return'=>array('//user/user/index'), 'firstVisit'=>array('//user/privacy/update'), 'delete'=>array('//user/user/delete'), // Page to go after admin logs in 'returnAdmin'=>false, // Page to go to after logout 'returnLogout'=>array('//user/user/login')); private $_views = array( 'login' => '/user/login', 'menu' => '/user/menu', 'registration' => '/registration/registration', 'activate' => '/user/resend_activation', 'message' => '/user/message', 'passwordForm' => '/user/_activation_passwordform', 'messageCompose' =>'application.modules.message.views.message.compose'); // LoginType : // If you want to activate many types of login just sum up the values below and assign them to 'loginType' in // the user module configuration. const LOGIN_BY_USERNAME = 1; const LOGIN_BY_EMAIL = 2; const LOGIN_BY_OPENID = 4; const LOGIN_BY_FACEBOOK = 8; const LOGIN_BY_TWITTER = 16; const LOGIN_BY_LDAP = 32; // Allow login only by username by default. public $loginType = 1; /** * Defines all Controllers of the User Management Module and maps them to * shorter terms for using in the url * @var array */ public $controllerMap=array( 'default'=>array('class'=>'YumModule.controllers.YumDefaultController'), 'rest'=>array('class'=>'YumModule.controllers.YumRestController'), 'csv'=>array('class'=>'YumModule.controllers.YumCsvController'), 'auth'=>array('class'=>'YumModule.controllers.YumAuthController'), 'install'=>array('class'=>'YumModule.controllers.YumInstallController'), 'statistics'=>array('class'=>'YumModule.controllers.YumStatisticsController'), 'translation'=>array('class'=>'YumModule.controllers.YumTranslationController'), 'user'=>array('class'=>'YumModule.controllers.YumUserController'), // workaround to allow the url application/user/login: 'login'=>array('class'=>'YumModule.controllers.YumUserController') ); // Table names private $_tables = array( 'user' => 'user', 'privacySetting' => 'privacysetting', 'translation' => 'translation', 'message' => 'message', 'usergroup' => 'usergroup', 'usergroupMessage' => 'usergroup_message', 'profile' => 'profile', 'profileComment' => 'profile_comment', 'profileVisit' => 'profile_visit', 'profileField' => 'profile_field', 'role' => 'role', 'userRole' => 'user_role', 'membership' => 'membership', 'payment' => 'payment', 'friendship' => 'friendship', 'permission' => 'permission', 'action' => 'action', ); public $passwordRequirements = array( 'minLen' => 6, 'maxLen' => 128, 'minLowerCase' => 0, 'minUpperCase'=>0, 'minDigits' => 1, ); public $usernameRequirements=array( 'minLen'=>3, 'maxLen'=>30, 'match' => '/^[A-Za-z0-9_]+$/u', 'dontMatchMessage' => 'Incorrect symbol\'s. (A-z0-9)', ); /** * Implements support for getting URLs, Tables and Views * @param string $name */ public function __get($name) { if(substr($name, -3) === 'Url') if(isset($this->_urls[substr($name, 0, -3)])) return $this->_urls[substr($name, 0, -3)]; if(substr($name, -4) === 'View') if(isset($this->_views[substr($name, 0, -4)])) return $this->_views[substr($name, 0, -4)]; if(substr($name, -5) === 'Table') if(isset($this->_tables[substr($name, 0, -5)])) return $this->_tables[substr($name, 0, -5)]; return parent::__get($name); } /** * Implements support for setting URLs and Views * @param string $name * @param mixed $value */ public function __set($name,$value) { if(substr($name,-3)==='Url') { if(isset($this->_urls[substr($name,0,-3)])) $this->_urls[substr($name,0,-3)]=$value; } if(substr($name,-4)==='View') { if(isset($this->_views[substr($name,0,-4)])) $this->_views[substr($name,0,-4)]=$value; } if(substr($name,-5)==='Table') { if(isset($this->_tables[substr($name,0,-5)])) $this->_tables[substr($name,0,-5)]=$value; } //parent::__set($name,$value); } public function init() { $this->setImport(array( 'YumModule.controllers.*', 'YumModule.models.*', 'YumModule.components.*', 'YumModule.core.*', )); } public function beforeControllerAction($controller, $action) { // Do not enable Debug mode when in Production Mode if(!defined('YII_DEBUG')) $this->debug = false; if(method_exists(Yii::app()->user, 'isAdmin') && Yii::app()->user->isAdmin()) $controller->layout = Yum::module()->adminLayout; return parent::beforeControllerAction($controller, $action); } }