Hi again!
I’m having a problem since i installed yii framework in my machine.
I can’t see the captcha generated images, even in the “Contact.php” example.
seems the extension gd isn’t loaded because the ‘if’ condition in the view evaluates as false…
so, what is happening?
class RegisterUserForm extends CFormModel{
/**
* Reordenar os atributos para serem lidos no controlador
* Verificar se a password ´e igual ´a confirmaçao
* Verificar se o email ´e valido
* Verificar se a data de nascimento est´a no formato correcto
*/
public $isInternal;
public $identifier; //username
public $internalID; //CLIP
public $name;
public $email;
public $sex;
public $password;
public $confirmPassword;
public $photo;
public $location;
public $birthday;
public $verifyCode;
public function rules(){
return array(
array('email','required'),
array('email','email'),
//array('sex','in','range'=>array('masculino','feminino')),
//array('password', 'compare', 'compareAttribute'=>'confirmPassword'),
//array('identifier','clipIDValidate'),
//array('emails','email'),
//array('photo','url'),
//array('birthday','myCheckDate'),
//array('verifyCode', 'captcha', 'allowEmpty'=>!extension_loaded('gd'))
);
}
}
<?php
class UserController extends Controller
{
/**
* @var string the default layout for the views. Defaults to 'column2', meaning
* using two-column layout. See 'protected/views/layouts/column2.php'.
*/
public $layout='column2';
/**
* @var CActiveRecord the currently loaded data model instance.
*/
private $_model;
/**
* @return array action filters
*/
public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
);
}
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
);
}
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view','captcha'),
'users'=>array('*'),
),
array('allow',
'actions'=>array('activateUser','registerUser'),
'users'=>array('?'),
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
'actions'=>array('create','update'),
'users'=>array('@'),
),
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions'=>array('admin','delete'),
'users'=>array('admin'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
}
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'user-form',
'enableAjaxValidation'=>false,
)); ?>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'Foto'); ?>
<?php echo $form->textField($model,'photo'); ?>
<?php echo $form->error($model,'photo'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Identificador'); ?>
<?php echo $form->textField($model,'identifier'); ?>
<?php echo $form->error($model,'identifier'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Email'); ?>
<?php echo $form->textField($model,'email'); ?>
<?php echo $form->error($model,'email'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Identificador do CLIP (opcional)'); ?>
<?php echo $form->textField($model,'internalID'); ?>
<?php echo $form->error($model,'internalID'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Nome'); ?>
<?php echo $form->textField($model,'name'); ?>
<?php echo $form->error($model,'name'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Password'); ?>
<?php echo $form->textField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Confirmar password'); ?>
<?php echo $form->textField($model,'confirmPassword'); ?>
<?php echo $form->error($model,'confirmPassword'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Sexo'); ?>
<?php echo $form->textField($model,'sex'); ?>
<?php echo $form->error($model,'sex'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Localização'); ?>
<?php echo $form->textField($model,'location'); ?>
<?php echo $form->error($model,'location'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Data de nascimento'); ?>
<?php echo $form->textField($model,'birthday'); ?>
<?php echo $form->error($model,'birthday'); ?>
</div>
<?php if(extension_loaded('gd')): ?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode'); ?>
<div>
<?php $this->widget('CCaptcha'); ?>
<?php echo $form->textField($model,'verifyCode'); ?>
</div>
<div class="hint">Please enter the letters as they are shown in the image above.
<br/>Letters are not case-sensitive.</div>
</div>
<?php endif; ?>
<div class="row buttons">
<?php echo CHtml::submitButton('Registar'); ?>
</div>
<?php $this->endWidget(); ?>