Boas,
Estou a tentar utilizar a extensão MUploadify, e até ao momento ela faz o upload do ficheiro, o problema ocorre pq preciso guardar o idObra, nome da imagem e uma descrição na base de dados.
Para obter isso estou a passar duas variáveis para a função upload uma id e outra assunto.
Só consigo passar os valores que já estão carregados nos textfields qd faço o edit dum registo, no meu caso tenho um campo AssuntoFicheiro que está vazio para ser preenchido antes de se fazer o upload, mas os conteúdos desse campo nunca são passados.
Não view tenho:
$this->widget('ext.uploadify.MUploadify',array(
'name'=>'idFicheiroObras',
'buttonText'=>Yii::t('app','Escolher Ficheiro'),
'script'=>array('obras/upload','id'=>$model->id, 'assunto'=>$model->AssuntoFicheiro),
'removeCompleted'=> false,
'auto'=>false,
));
No Controller tenho:
public function actionUpload(){
if(isset($_POST['idFicheiroObras'])){
$decodeData = json_decode($_POST['id']);
$queryString_id_url = $decodeData->pageView_id;
$galleriaPicture=CUploadedFile::getInstanceByName('idFicheiroObras');
$uploadedPicture = $galleriaPicture->getName('idFicheiroObras');
$galleriaPicture_url = 'ficheiros/obras/'.$uploadedPicture;
$sql = 'SELECT LocalFicheiro from FicheirosObras WHERE LocalFicheiro="'.$uploadedPicture.'"';
$cmd = Yii::app()->db->createCommand($sql);
$res = $cmd->queryAll();
if($res)
{
throw new CErrorEvent(500, 'Ficheiro existente.');
}
else
{
if(!$galleriaPicture->saveAs($galleriaPicture_url))
throw new CHttpException(500, 'Ficheiro existente.');
else
{
$NumObra = $_GET['id'];
$Assunto = $_GET['assunto'];
$sqlAddFile = 'insert into FicheirosObras (idObra, Assunto, LocalFicheiro) values (
"'.$NumObra.'",
"'.$Assunto.'",
"'.$uploadedPicture.'"
)';
Yii::app()->db->createCommand($sqlAddFile)->execute();
}
}
echo 1;
Yii::app()->end();
}
}