Commits

christiansalazar committed d2ddffa

readme and tester using new api functions

  • Participants
  • Parent commits 8757393

Comments (0)

Files changed (6)

 .*/
 assets/
 protected/modules/cruge/
-protected/runtime/
+protected/runtime/
+*~
+*.tmp
+*.swp
 CREANDO UNA APP CON CRUGE USANDO GIT
 ====================================
 
-		**IMPORTANTE**
+En este codigo que has descargado aqui veras que la carpeta protected/modules no existe, tampoco existe cruge
+deberas copiarla o clonarla tu mismo en tu proyecto instalado.
 
-		En este ejemplo veras la carpeta protected/modules no existe (y cruge tampoco)
-		debes copiarla tu mismo en tu proyecto.
+supongamos que tu Yii Framework esta instalado en: 
+  /e/apps/yii
 
-		Este ejemplo esta basado en el uso de GIT, pero si no usas git simplemente descargas
-		el codigo fuente y lo copias en tu maquina.
+y que la aplicacion la quieres instalar en:
+  /e/code/crugeholamundo
 
-1. crear aplicacion en cero.
+1. descarga esta aplicacion completa a:
+  /e/code/crugeholamundo
 
-		/e/apps/yii/framework/yiic webapp /e/code/crugeholamundo
+2. dale los permisos 775 a los directorios "assets" y "protected/runtime", crea los directorios si no existen.
+  cd /e/code/crugeholamundo
+  mkdir assets
+  chmod 775 assets
+  cd protected
+  mkdir runtime
+  chmod 775 runtime
 
-	deberia entonces existir ahora una aplicacion yii en blanco
+3. asegurate de que exista el siguiente directorio:
+  /e/code/crugeholamundo/protected/modules
 
-2. una vez creada la aplicacion, en su raiz crearle un archivo .gitignore:
+4. clona cruge:
+  cd /e/code/crugeholamundo/protected/modules
+  git clone https://christiansalazarh@bitbucket.org/christiansalazarh/cruge.git
 
-		.*/
-		assets/
-		protected/modules/cruge/
-		protected/runtime/
+5. tras clonar deberia haberse creado el directorio:
+  /e/code/crugeholamundo/protected/modules/cruge
 
-3. crear la carpeta protected/modules
+6. Crea una base de datos llamada 'crugedemo', los parametros de la base de datos los pones 
+tu en el archivo /config/main.php de tu aplicacion.
 
+7. instala en tu base de datos al script de cruge
+  /e/code/crugeholamundo/protected/modules/cruge/data/ <-- busca aqui el script
 
-4. con la herramienta de consola navegar hacia este directorio:
-
-		$ cd /e/code/crugeholamundo/protected/modules
-
-	usa cualquier herramienta, pero asegurate de pararte en este directorio.
-
-5. clona cruge:
-
-		git clone git@bitbucket.org:christiansalazarh/cruge.git
-
-	esto creara un directorio con el contenido de cruge dentro de el.
-
-6. sigue los pasos de la instalacion que cruge te ofrece y la app queda funcional. necesitaras una
-base de datos mysql (o postgre) llamada "crugedemo".  De todos modos, en protected/config/main.php
-puedes cambiar esto, pero asegurate que las tablas requeridas por cruge existan para este demo.
+La ayuda oficial de Cruge esta en [http://www.yiiframeworkenespanol.org/cruge]
 <?php
+// is a good idea to add this two lines in development
+error_reporting(E_ALL);
+ini_set('display_errors', 'On');
+
+$yii='/yii/yii.php';
+// you can also use paths like this one
+// $yii="c:/anyplace/yii/framework/yii.php";
 
-// change the following paths if necessary
-$yii=dirname(__FILE__).'/../../yii/1/framework/yii.php';
 $config=dirname(__FILE__).'/protected/config/main.php';
 
 // remove the following lines when in production mode

File protected/config/main.php

 			//
 			'afterLoginUrl'=>null,
 			'afterLogoutUrl'=>null,
-			'afterSessionExpiredUrl'=>null,
+			'afterSessionExpiredUrl'=>array('/site/index'),
 
 			// manejo del layout con cruge.
 			//

File protected/controllers/SiteController.php

 
 class SiteController extends Controller
 {
+	/*
+
+	Si activas el control para este controller, deberás crear un Rol llamado 'invitados', luego, agregar
+	a este rol al usuario 'invitado' (viene de fabrica), y darle los permisos al rol invitados para
+	que este pueda pasar a los distintos actions de este controller.
+
+	public function filters()
+	{
+		return array(
+			array('CrugeAccessControlFilter'),
+		);
+	}
+	*/
+
 	/**
 	 * Declares class-based actions.
 	 */
 		Yii::app()->user->logout();
 		$this->redirect(Yii::app()->homeUrl);
 	}
-	
+
 	public function actionTester(){
 		$this->render('tester');
 	}
-	
-	
+
+
 	public function actionAjaxCrearUsuario(){
-		// asi se crea un usuario (una nueva instancia en memoria volatil)
-		$usuarioNuevo = Yii::app()->user->um->createBlankUser(); 
-		
-		$usuarioNuevo->username = 'username1';
-		$usuarioNuevo->email = 'username1@gmail.com';
-		// la establece como "Activada"
-		Yii::app()->user->um->activateAccount($usuarioNuevo);
-		
-		if(Yii::app()->user->um->loadUser($usuarioNuevo->username) != null)
-			{
-				echo "El usuario {$usuarioNuevo->username} ya ha sido creado.";
-				return;
-			}
-		
-		// ponerle una clave
-		Yii::app()->user->um->changePassword($usuarioNuevo,"123456");
-		
-		// guarda usando el API, la cual hace pasar al usuario por el sistema de filtros.
-		if(Yii::app()->user->um->save($usuarioNuevo)){
-		
-			echo "Usuario creado: id=".$usuarioNuevo->primaryKey;
+		$k = rand(1000,9999);
+		$u = Yii::app()->user->um->createNewUser(array(
+			'email'=>'prueba'.$k.'@prueba.com',
+			// pude haber indicado aqui el username, pero si no lo pongo
+			// entonces cruge lo creara automaticamente basado en el email
+			'firstname'=>'nombre '.$k,
+			'lastname'=>'apellido '.$k,
+		));
+		if($u != null){
+			echo "Usuario ha sido creado. Username:".$u->username;
 		}
 		else{
-			$errores = CHtml::errorSummary($usuarioNuevo);
-		
-			echo "no se pudo crear el usuario: ".$errores;
+			echo "No se pudo crear el usuario.";
 		}
 	}
-}
+}

File protected/views/site/tester.php

 una vez presionado puedes revisar los usuarios creados consultando la <br/>
 	<?php echo Yii::app()->user->ui->getUserManagementAdminLink("lista de usuarios")?>.
 </p>
-<?php 
-	echo CHtml::ajaxButton("Crear un usuario usando el API de Cruge", 
-		array('/site/ajaxCrearUsuario'), 
-		array ( 
+
+<b><span style='color: darkred'>Importante:</span> previamente crea dos campos personalizados llamados 
+'firstname' y 'lastname', para efectos de demostracion solamente.</b>
+
+<?php
+	echo CHtml::ajaxButton("Crear un usuario usando el API de Cruge via Ajax",
+		array('/site/ajaxCrearUsuario'),
+		array (
 			'success'=>"function(data){ $('#result1').html(data); }",
 			'error'=>"function(e){ $('#result1').html('error:'+e.responseText); }"
 		),
 	);
 ?>
 <div id='result1'></div>
+
+<a href='http://yiiframeworkenespanol.org/wiki/index.php?title=Cruge#EJEMPLOS_DEL_USO_DEL_API_DE_CRUGE:'>mas funciones del api de cruge aqui</a>
+
 </div>