Source

cruge / CrugeModule.php

christiansalazar 7f8b5a7 
christiansalazar 9c29741 




christiansalazar a224a7f 
christiansalazar 9c29741 
christiansalazar 7f8b5a7 

christiansalazar 260aae6 
christiansalazar 7f8b5a7 

christiansalazar 8c8460b 




christiansalazar 7f8b5a7 



christiansalazar 4e30558 



christiansalazar 13264cf 








christiansalazar 3943f2b 
christiansalazar 13264cf 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 










christiansalazar 13264cf 
christiansalazar c4b7dc1 

christiansalazar 4e30558 
christiansalazar c4b7dc1 
christiansalazar 7f8b5a7 
christiansalazar 4e30558 
christiansalazar 61be75b 


christiansalazar 4e30558 
christiansalazar 7f8b5a7 

christiansalazar 4e30558 






christiansalazar 7f8b5a7 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 



christiansalazar 4e30558 
christiansalazar 7f8b5a7 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 


christiansalazar 4e30558 
christiansalazar 7f8b5a7 
christiansalazar 4e30558 
Ricardo Obregón 52a8f9b 
christiansalazar 7f8b5a7 

christiansalazar 4e30558 
Ricardo Obregón 52a8f9b 



christiansalazar 4e30558 
christiansalazar 7f8b5a7 











christiansalazar 4e30558 
christiansalazar 13264cf 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 

christiansalazar 4e30558 
christiansalazar 7f8b5a7 

Ricardo Obregón 52a8f9b 
christiansalazar 7f8b5a7 


Ricardo Obregón 52a8f9b 
christiansalazar 7f8b5a7 

christiansalazar 4e30558 
christiansalazar 7f8b5a7 





christiansalazar 4e30558 
christiansalazar 7f8b5a7 




christiansalazar 4e30558 
christiansalazar 1bea217 






christiansalazar 4e30558 


christiansalazar 7f8b5a7 










christiansalazar 4e30558 
christiansalazar 7f8b5a7 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 
christiansalazar 4e30558 
christiansalazar 7f8b5a7 









christiansalazar 4e30558 

christiansalazar 7f8b5a7 








christiansalazar 4e30558 


christiansalazar 7f8b5a7 
<?php
/**
 * CrugeModule 
 * 
 * @uses CWebModule
 * @author Christian Salazar H. <christiansalazarh@gmail.com> 
 * @license /protected/modules/cruge/LICENSE
 */
class CrugeModule extends CWebModule
{
	public $debug = false;					// poner a true para ayudar en la instalacion
	public $tableprefix = 'cruge_';			// agrega un prefijo para buscar las tablas en db
	public $maptables = array();			// permite cambiar los nombres de las tablas

	public $baseUrl = "";					// usada para enviar los links de activacion de la cuenta de usuario
											// se usa mediante CrugeUtil::config()->baseUrl
											// para principalmente en CrugeUserManagement::getActivationUrl()

	public $superuserName = 'admin';		// username del super usuario. cualquier llamada
											// a Yii::app()->user->checkAccess retornara true
											// si el superuserName coincide con este valor

	public $afterLoginUrl;				// por defecto son usadas por el filtro de sesion: DefaultSessionFilter
	public $afterLogoutUrl;				//	tras el evento onLogin y onLogout
	public $afterSessionExpiredUrl;		//

	// la clase a usar para los CGridView, debido a que BootStrap ofrece clases con distinto estilo
	// modificando este valor se causa que los CGridView se renderizen usando la clase indicada
	//
	// por defecto poner: zii.widgets.grid.CGridView
	public $useCGridViewClass = 'zii.widgets.grid.CGridView';

	// el estilo del boton que la UI usara:
	//	normal, jui, bootstrap
	//  por defecto: normal
	public $buttonStyle = 'normal';
	public $buttonConf = 'small';// large, small o mini

	// ponerla a true para que se creen de forma automatica las operaciones en el sistema de Rbac
	// cuando se haga una llamada a Yii::app()->user->checkAccess() y esta retorne false.
	//
	// public function actionCreatePost(){
	//    if(Yii::app()->user->checkAccess('createpost_get')==false)
	//    		throw new CrugeException('acceso denegado');
	// }
	//
	// en este action de ejemplo (arriba), se solicita una operacion llamada: 'createpost_get'
	// que quiza no haya sido insertada en la lista de operaciones del sistema de rbac. entonces,
	// cuando rbacSetupEnabled es true esta operacion sera insertada para que podamos usarla
	// para ser asignada a los diferentes roles o tareas.
	//
	public $rbacSetupEnabled=false;
	// cuando esta en true y el modo de setup de rbac tambien lo esta (rbacSetupEnabled=true)
	// entonces permitira al usuario acecder a la funcion denegada aunque no tenga el permiso
	//
	public $allowUserAlways=false;


	// el iduser del usuario invitado. por defecto es 2. (admin es 1)
	//
	public $guestUserId=2;

	// los nombres de los modulos de autenticacion habilitados para reconocer usuarios:
	// cada nombre debe coincidir con el valor devuelto por ICrugeAuth::authName()
	//
	// en UiController::actionLogin se lee esta variable para saber con que filtro de autenticacion se procesara
	// el request de login del usuario, por defecto 'default' el cual usa a models.auth.CrugeAuthDefault
	//
	// para leer este valor usar:
	//	$valor = CrugeFactory::get()->getConfiguredAuthMethodName();
	//
	public $availableAuthMethods = array('default');

	// los campos por los cuales se puede buscar a un usuario cuando hace login
	public $availableAuthModes	 = array('email','username');

	// ruta de la clase que implementa a ICrugeSessionFilter.
	// si es null se usa a defaultSessionFilter
	// son usados en: CrugeFactory::getICrugeSessionFilter para determinar con que conceder la sesion
	public $sessionfilter=null;
	public $defaultSessionFilter = 'cruge.models.filters.DefaultSessionFilter';

	// este filtro permite o niega la creacion o actualizacion de un usuario.
	//
	// aqui se espera una clase que implemente a: ICrugeUserFilter
	//
	public $userFilter='cruge.models.filters.DefaultUserFilter';

	// indica si una clave es almacenada con hash o no.
	//
	public $useEncryptedPassword = false;

    // Indica el algoritmo de hash a usarse

    public $hash = 'md5';

	// estos atributos llamados xxxLayout, son para indicar que layout usar
	// para los actions:
	//
	// generalUserManagementLayout: todos los actions de usermanagament (admin,create,update..)
	// activateAccountLayout:  el action que presenta la pagina de activar cuenta
	// registrationLayout: el action para registrar usuarios
	//
	// por defecto usar valor: "ui".  eso hara que lea el archivo llamado "ui" ubicado en
	// 		/protected/modules/cruge/views/layouts/ui.php
	// si se quisiera usar un layout de la aplicacion en vez del modulo:
	//		/protected/views/layouts/otrolayout.php
	// entonces configurar asi:
	//		"//layouts/otrolayout"
	public $generalUserManagementLayout = 'ui';
	public $editProfileLayout = 'ui';
	public $activateAccountLayout = '//layouts/column1';
	public $registrationLayout = '//layouts/column1';
	public $loginLayout = '//layouts/column1';

	// sirve para que la controladora UiController pueda que nombre pasar a $_POST['??']
	// para actualizar los atributos de una clase.  Si se llegase a cambiar una clase
	// por otra entonces con solo cambiar aqui el nombre el formulario podr� trabajar de nuevo
	//
	// Es utilizada en cada referencia a $_POST o $_GET en la controladora de UiController
	//
	// ejemplo: Ma�ana no nos gusta CrugeField y cambiamos la clase por CrugeMyOwnField
	// entonces en este array se mapearia asi:  'CrugeField'=>'CrugeMyOwnField'
	//
	public $postNameMappings = array(
		'CrugeLogon'=>'CrugeLogon',
		'CrugeStoredUser'=>'CrugeStoredUser',
		'CrugeField'=>'CrugeField',
		'CrugeSystem'=>'CrugeSystem',
		'CrugeSession'=>'CrugeSession',
	);

	// estos parametros no deben manipularse
	public $defaultController = 'ui';
	public $uicontroller='ui';
	public $_lazyAuthModes = null;
	private $_factory;

	// este array es usado por CrugeUi para almacenar errors que han sido reportados
	// por CrugeUi::addError() , luego, para desplegar los errores observados
	// puede usarse al pie de la pagina web la siguiente linea:
	//
	//	echo Yii::app()->user->ui->displayErrorConsole();
	//
	public $globalErrors = array();



	public function init()
	{
		$this->setImport(array(
			'cruge.models.*',
			'cruge.models.data.*',	// clases del modelo de datos
			'cruge.models.auth.*',	// clases de autenticacion
			'cruge.models.filters.*',// clases de filtros de sesion
			'cruge.models.ui.*',// clases de interfaz de usuario
			'cruge.components.*',	// clases del modelo
			'cruge.interfaces.*',	// interfaces
			'cruge.extensions.crugemailer.*',	// extensiones consumidas por el modulo

		));

	}

	public function getUiControllerName(){
		return $this->uicontroller;
	}

	public function getFactory(){
		if($this->_factory == null)
			$this->_factory = new CrugeFactory();
		return $this->_factory;
	}



	public function beforeControllerAction($controller, $action)
	{
		if(parent::beforeControllerAction($controller, $action))
		{
			return true;
		}
		else
			return false;
	}



}