Commits

christiansalazar committed 5b4997f

actualizando demo mostrando el API para crear usuarios.

Comments (0)

Files changed (5)

 <?php
 
 // change the following paths if necessary
-$yii=dirname(__FILE__).'/../yii/1/framework/yii.php';
+$yii=dirname(__FILE__).'/../../yii/1/framework/yii.php';
 $config=dirname(__FILE__).'/protected/config/main.php';
 
 // remove the following lines when in production mode

protected/controllers/SiteController.php

 		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;
+		}
+		else{
+			$errores = CHtml::errorSummary($usuarioNuevo);
+		
+			echo "no se pudo crear el usuario: ".$errores;
+		}
+	}
 }

protected/views/layouts/main.php

 				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'=>'Tester'
+					, 'url'=>array('/site/tester')
+					, 'visible'=>!Yii::app()->user->isGuest),
 				array('label'=>'Administrar Usuarios'
 					, 'url'=>Yii::app()->user->ui->userManagementAdminUrl
 					, 'visible'=>!Yii::app()->user->isGuest),
 		All Rights Reserved.<br/>
 		<?php echo Yii::powered(); ?>
 	</div><!-- footer -->
-
+	
+	<?php echo Yii::app()->user->ui->displayErrorConsole(); ?>
+	
 </div><!-- page -->
 
 </body>

protected/views/site/index.php

-<?php $this->pageTitle=Yii::app()->name; ?>
+<h1>Cruge Demo</h1>
 
-<h1>Welcome to <i><?php echo CHtml::encode(Yii::app()->name); ?></i></h1>
+<p>Cruge es un sistema de gestion de usuarios para Yii Framework.</p>
 
-<p>Congratulations! You have successfully created your Yii application.</p>
+<p>Sitio web oficial:  <a href='https://bitbucket.org/christiansalazarh/cruge'>https://bitbucket.org/christiansalazarh/cruge</a></p>
 
-<p>You may change the content of this page by modifying the following two files:</p>
-<ul>
-	<li>View file: <tt><?php echo __FILE__; ?></tt></li>
-	<li>Layout file: <tt><?php echo $this->getLayoutFile('main'); ?></tt></li>
-</ul>
-
-<p>For more details on how to further develop this application, please read
-the <a href="http://www.yiiframework.com/doc/">documentation</a>.
-Feel free to ask in the <a href="http://www.yiiframework.com/forum/">forum</a>,
-should you have any questions.</p>

protected/views/site/tester.php

+<h1>Tester</h1>
+
+<div style='padding: 3px; background-color: rgb(255,255,230); width: 400px;'>
+<p class='hint'>este boton ejecutara el action siteController.php::actionAjaxCrearUsuario()
+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 ( 
+			'success'=>"function(data){ $('#result1').html(data); }",
+			'error'=>"function(e){ $('#result1').html('error:'+e.responseText); }"
+		),
+		array()
+	);
+?>
+<div id='result1'></div>
+</div>