Hi I just installed your plugin and it was good but my files are not upload , writes Error Empty file upload result, and when I do in XUploadAction var_dump ($ model) return Null ,I attach the code of form and controller upload
form
<?php
/* @var $this PersonalController */
$this->pageTitle = Yii::app()->name;
?>
<?php
$baseUrl = Yii::app()->baseUrl;
$cs = Yii::app()->getClientScript();
$cs->registerScriptFile($baseUrl . '/js/jquery.placeholder.min.js');
$cs->registerScriptFile($baseUrl . '/js/address.js');
$cs->registerScriptFile($baseUrl . '/js/personal_form.js');
$cs->registerScriptFile($baseUrl . '/js/jquery.maskedinput.js');
$cs->registerScriptFile($baseUrl . '/js/phone.js');
$cs->registerScriptFile($baseUrl . '/js/jquery.tooltip.js');
$cs->registerScriptFile($baseUrl . '/js/tooltip.settings.js');
//$cs->registerCssFile($baseUrl . '/js/uploadify/uploadify.css');
?>
<?php if (Yii::app()->user->hasFlash('personal')): ?>
<div class="flash-success">
<?php echo Yii::app()->user->getFlash('personal'); ?>
</div>
<?php endif; ?>
<div id="personal-info">
<div class="form">
<?php
$form = $this->beginWidget('CActiveForm', array(
'id' => 'personal-form',
//'enableClientValidation' => true,
//'enableAjaxValidation'=>true,
/* 'clientOptions' => array(
'validateOnSubmit' => true,
'afterValidate' => 'js:function(form, data, hasError) { alert("asdasdasd"); return true;}'
), */
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
));
$category = 'personal_translate';
?>
<?php echo $form->errorSummary($model); ?>
<div id="message_block"></div>
<div id ="error_block"></div>
<?php $this->beginWidget('system.web.widgets.CClipWidget', array('id' => 'Паспортные данные')); ?>
<div>Поля, отмеченные <span class="required">*</span> обязательны для заполнения.</div>
<div class="form-row">
<div class="row">
<?php //echo ?>
<div class="required">*</div>
<?php echo $form->textField($model, 'firstname', array('placeholder' => $model->getAttributeLabel('firstname'))); ?>
<?php echo $form->error($model, 'firstname'); ?>
</div>
<div class="row">
<div class="required">*</div>
<?php echo $form->textField($model, 'lastname', array('placeholder' => $model->getAttributeLabel('lastname'))); ?>
<?php echo $form->error($model, 'lastname'); ?>
</div>
<div class="row">
<?php echo $form->textField($model, 'middleInitial', array('placeholder' => $model->getAttributeLabel('middleInitial'))); ?>
<?php echo $form->error($model, 'middleInitial'); ?>
</div>
</div>
<div class="form-row">
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, Yii::t($category, 'sex')); ?>
<?php echo $form->dropDownList($model, 'sex', $model->getSexes(), array('prompt' => Yii::t($category, 'Не выбран'))); ?>
<?php echo $form->error($model, 'sex'); ?>
</div>
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, Yii::t($category, 'citizenshipid')); ?>
<?php echo $form->dropDownList($model, 'citizenshipid', $model->getCityzenships(), array('prompt' => Yii::t($category, 'Не выбран'))); ?>
<?php echo $form->error($model, 'citizenshipid'); ?>
</div>
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, 'birthday'); ?>
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'birthday',
'htmlOptions' => array(
'placeholder' => $model->getAttributeLabel('birthday'),
)));
?>
<?php echo $form->error($model, 'birthday'); ?>
</div>
</div>
<div class="form-row">
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, 'doctypeid'); ?>
<?php echo $form->dropDownList($model, 'doctypeid', $data['doctypes'], array('prompt' => Yii::t($category, 'Не выбран'))); ?>
<?php echo $form->error($model, 'doctypeid'); ?>
</div>
</div>
<div class="form-row">
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, Yii::t($category, 'requisites')); ?>
<?php echo $form->textField($model, 'requisites', array('placeholder' => $model->getAttributeLabel('requisites'))); ?>
<?php echo $form->error($model, 'requisites'); ?>
</div>
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, Yii::t($category, 'issuedBy')); ?>
<?php echo $form->textField($model, 'issuedBy', array('placeholder' => $model->getAttributeLabel('issuedBy'))); ?>
<?php echo $form->error($model, 'issuedBy'); ?>
</div>
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, Yii::t($category, 'issuedWhen')); ?>
<?php
$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'issuedWhen',
'htmlOptions' => array(
'placeholder' => $model->getAttributeLabel('issuedWhen')
),
'options' => array(
'changeMonth' => 'true',
'changeYear' => 'true',
),
));
?>
<?php echo $form->error($model, 'issuedWhen'); ?>
</div>
</div>
<div class="form-row">
<div class="row">
<?php echo CHtml::textField('regaddress_text', $this->GetAddressStringByAddressId($model->regaddressid)/* 'sdf' */, array('placeholder' => $model->getAttributeLabel('addresstext'))); ?>
<?php echo $form->hiddenField($model, 'regaddressid'); ?>
<?php echo $form->error($model, 'regaddressid'); ?>
</div>
</div>
<div class="row">
<!--><div id="scans_block">
<?php
$this->widget('application.components.widgets.ScansBlock', array('type' => 'passport', 'name' => 'Страница паспорта'));
?>
</div>
</div>
<?var_dump($model);?>
<!--><div class="form-row">
<div class="row">
<?
$this->widget('xupload.XUpload', array(
'url' => Yii::app()->createUrl("scans/upload"),
'model' => $model,
'attribute' => 'file',
'multiple' => false,
//'showForm'=> true,
'htmlOptions'=> array ('id' => 'personal-form'),
));
?>
<!--> </div>
</div><--!>
<div class="row buttons">
<?php echo CHtml::submitButton('Далее>>', array('id' => 'passport_data', 'name' => 'passport_data')); ?>
</div>
<?php $this->endWidget(); ?>
<?php $this->beginWidget('system.web.widgets.CClipWidget', array('id' => 'Контактные данные')); ?>
<div>Поля, отмеченные <span class="required">*</span> обязательны для заполнения.</div>
<div class="form-row factaddress">
<div class="row">
<?php echo CHtml::textField('factaddress_text', $this->GetAddressStringByAddressId($model->factaddressid)/* 'sdf' */, array('placeholder' => $model->getAttributeLabel('factaddressid'))); ?>
<?php echo $form->hiddenField($model, 'factaddressid'); ?>
<?php echo $form->error($model, 'factaddressid'); ?>
</div>
</div>
<?php if (empty($model->factaddressid)): ?>
<div class="sameaddr">
<?php //echo $form->activeCheckBox($model,'sameaddr',array());
?>
<?php echo $form->checkBox($model, 'same_address') . ' Совпадает с адресом регистрации'; ?>
</div>
<?php endif; ?>
<div class="form-row phone-row">
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, Yii::t($category, 'issuedBy')); ?>
<?php echo $form->textField($model, 'phone1', array('placeholder' => $model->getAttributeLabel('phone1'), 'class' => 'phone')); ?>
<?php echo $form->error($model, 'phone1'); ?>
<div class="phone_example">Например: + 44 (011) 111-11-11</div>
</div>
<div class="row">
<?php //echo $form->labelEx($model, Yii::t($category, 'issuedBy')); ?>
<?php echo $form->textField($model, 'phone3', array('placeholder' => $model->getAttributeLabel('phone3'), 'class' => 'phone')); ?>
<?php echo $form->error($model, 'phone3'); ?>
<div class="phone_example">Например: + 44 (011) 111-11-11</div>
</div>
</div>
<div class="form-row phone-row">
<div class="row">
<?php //echo $form->labelEx($model, Yii::t($category, 'issuedBy')); ?>
<?php echo $form->textField($model, 'phone2', array('placeholder' => $model->getAttributeLabel('phone2'), 'class' => 'phone')); ?>
<?php echo $form->error($model, 'phone2'); ?>
<div class="phone_example">Например: + 44 (011) 111-11-11</div>
</div>
<div class="row">
<?php //echo $form->labelEx($model, Yii::t($category, 'issuedBy')); ?>
<?php echo $form->textField($model, 'phone4', array('placeholder' => $model->getAttributeLabel('phone4'), 'class' => 'phone')); ?>
<?php echo $form->error($model, 'phone4'); ?>
<div class="phone_example">Например: + 44 (011) 111-11-11</div>
</div>
</div>
<div class="form-row">
<div class="row">
<div class="required">*</div>
<?php //echo $form->labelEx($model, Yii::t($category, 'issuedBy')); ?>
<?php echo $form->textField($model, 'email', array('placeholder' => $model->getAttributeLabel('email'))); ?>
<?php echo $form->error($model, 'email'); ?>
</div>
</div>
<div class="form-row">
<div class="row buttons">
<?php echo CHtml::submitButton('<<Назад', array('id' => 'contact_data_back', 'name' => 'contact_data_back')); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Cохранить', array('id' => 'contact_data_next', 'name' => 'contact_data_next')); ?>
</div>
</div>
<?php $this->endWidget(); ?>
<?php// $this->beginWidget('system.web.widgets.CClipWidget', array('id' => 'Дополнительная информация')); ?>
<div class="row">
<?php// echo $form->labelEx($model, 'comment'); ?>
<?php //echo $form->textArea($model, 'comment'); ?>
</div>
<div class="row">
<?php //echo $form->labelEx($model, 'has_alpa_consulter'); ?>
<?php //echo $form->checkBox($model, 'has_alpa_consulter'); ?>
<?php// echo $form->radioButtonList($model,'hasAlpaConsulter', array('0' => 'Я буду вести переговоры самостоятельно', '1' => 'Переговоры будет вести мой уполномоченный представитель'), array('separator' => '')); ?>
</div>
<div class="form-row">
<div class="row buttons">
<?php// echo CHtml::submitButton('<<Назад', array('name' => 'additional_info_back')); ?>
</div>
<div class="row buttons">
<?php// echo CHtml::submitButton('Сохранить', array('name' => 'additional_info')); ?>
</div>
</div>
<?php //$this->endWidget(); ?>
<?php
$tabParameters = array();
foreach ($this->clips as $key => $clip)
$tabParameters['tab' . (count($tabParameters) + 1)] = array('title' => $key, 'content' => $clip);
?>
<?php
$this->widget('system.web.widgets.CTabView', array(
'tabs' => $tabParameters,
'cssFile' => 'css/tabs.css'));
?>
<?php
echo CHtml::hiddenField('submit_name', '');
?>
<?php $this->endWidget(); ?>
<?php $this->widget('application.components.widgets.AddressForm'); ?>
</div>
</div>
<?php d($model); ?>
<?php d(Yii::app()->user); ?>
uploadController
class ScansController extends Controller {
public function actions()
{
return array(
'upload'=>array(
'class'=>'xupload.actions.XUploadAction',
'path' =>Yii::app() -> getBasePath() . "/uploads",
'publicPath' => Yii::app() -> getBaseUrl() . "/uploads",
),
);
}