Wiki

Clone wiki

cruge-english / Installation

  1. Download this extension
  2. Extract it to protected/modules/cruge/downloadedFilesGoHere
  3. Import data/cruge-data-model.sql if you use MySQL database or data/cruge-data-model-postgres.sql if you use PostgreSQL
  4. In your protected/config/main.php add:
  • in 'import'
#!php
'application.modules.cruge.components.*',
'application.modules.cruge.extensions.crugemailer.*',
  • in 'modules'
#!php

'cruge'=>array(
    'tableprefix'=>'cruge_',

    // para que utilice a protected.modules.cruge.models.auth.CrugeAuthDefault.php
    //
    // en vez de 'default' pon 'authdemo' para que utilice el demo de autenticacion alterna
    // para saber mas lee documentacion de la clase modules/cruge/models/auth/AlternateAuthDemo.php
    //
    'availableAuthMethods'=>array('default'),

    'availableAuthModes'=>array('username','email'),

                    // url base para los links de activacion de cuenta de usuario
    'baseUrl'=>'http://coco.com/',

     // NO OLVIDES PONER EN FALSE TRAS INSTALAR
     'debug'=>true,
     'rbacSetupEnabled'=>true,
     'allowUserAlways'=>true,

    // MIENTRAS INSTALAS..PONLO EN: false
    // lee mas abajo respecto a 'Encriptando las claves'
    //
    'useEncryptedPassword' => false,

    // Algoritmo de la función hash que deseas usar
    // Los valores admitidos están en: http://www.php.net/manual/en/function.hash-algos.php
    'hash' => 'md5',

    // Estos tres atributos controlan la redirección del usuario. Solo serán son usados si no
    // hay un filtro de sesion definido (el componente MiSesionCruge), es mejor usar un filtro.
    //  lee en la wiki acerca de:
                    //   "CONTROL AVANZADO DE SESIONES Y EVENTOS DE AUTENTICACION Y SESION"
                    //
    // ejemplo:
    //      'afterLoginUrl'=>array('/site/welcome'),  ( !!! no olvidar el slash inicial / )
    //      'afterLogoutUrl'=>array('/site/page','view'=>'about'),
    //
    'afterLoginUrl'=>null,
    'afterLogoutUrl'=>null,
    'afterSessionExpiredUrl'=>null,

    // manejo del layout con cruge.
    //
    'loginLayout'=>'//layouts/column2',
    'registrationLayout'=>'//layouts/column2',
    'activateAccountLayout'=>'//layouts/column2',
    'editProfileLayout'=>'//layouts/column2',
    // en la siguiente puedes especificar el valor "ui" o "column2" para que use el layout
    // de fabrica, es basico pero funcional.  si pones otro valor considera que cruge
    // requerirá de un portlet para desplegar un menu con las opciones de administrador.
    //
    'generalUserManagementLayout'=>'ui',

    // permite indicar un array con los nombres de campos personalizados, 
    // incluyendo username y/o email para personalizar la respuesta de una consulta a: 
    // $usuario->getUserDescription(); 
    'userDescriptionFieldsArray'=>array('email'), 

),

* in 'components'

Make sure in 'components' in protected/config/main.php that you replaced the original 'user' part of the array (that comes with Yii by default) with the new one, provided by the Cruge extension

#!php
//  IMPORTANTE:  asegurate de que la entrada 'user' (y format) que por defecto trae Yii
//               sea sustituida por estas a continuación:
//
'user'=>array(
    'allowAutoLogin'=>true,
    'class' => 'application.modules.cruge.components.CrugeWebUser',
    'loginUrl' => array('/cruge/ui/login'),
),
'authManager' => array(
    'class' => 'application.modules.cruge.components.CrugeAuthManager',
),
'crugemailer'=>array(
    'class' => 'application.modules.cruge.components.CrugeMailer',
    'mailfrom' => 'email-desde-donde-quieres-enviar-los-mensajes@xxxx.com',
    'subjectprefix' => 'Tu Encabezado del asunto - ',
    'debug' => true,
),
'format' => array(
    'datetimeFormat'=>"d M, Y h:m:s a",
),
  1. Add extension link to main menu:

in protected/views/layouts/main.php for menu widget place this code:

#!php
<?php $this->widget('zii.widgets.CMenu',array(
            'items'=>array(
                array('label'=>'Home', 'url'=>array('/site/index')),
                array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
                array('label'=>'Contact', 'url'=>array('/site/contact')),
                array('label'=>'Administrar Usuarios'
                    , 'url'=>Yii::app()->user->ui->userManagementAdminUrl
                    , 'visible'=>!Yii::app()->user->isGuest),
                array('label'=>'Login'
                    , 'url'=>Yii::app()->user->ui->loginUrl
                    , 'visible'=>Yii::app()->user->isGuest),
                array('label'=>'Logout ('.Yii::app()->user->name.')'
                    , 'url'=>Yii::app()->user->ui->logoutUrl
                    , 'visible'=>!Yii::app()->user->isGuest),
            ),
        )); ?>
  1. If you face any problems refer to the original docs in spanish (easily translatable with google translate or other service) http://yiiframeworkenespanol.org/wiki/index.php?title=Cruge

Updated