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(); ?>
