Ejemplo n.º 1
0
 public function atualizar($model, $caminho = false)
 {
     $nm = '';
     $i = 0;
     $max = 2;
     $nothing_uploads = false;
     if (!is_dir($caminho . $model->itens_id)) {
         mkdir($caminho . $model->itens_id);
     }
     for ($i = 0; $i <= $max; $i++) {
         $img_add = new ItensMultimidia();
         $pic = CUploadedFile::getInstancesByName('ItensMultimidia_' . $i);
         $pic = isset($pic[0]) ? $pic[0] : null;
         if (isset($pic)) {
             $nothing_uploads = true;
             $nm = md5(date("Ymd h:i:s")) . rand(5, 15) . "." . $model->extensionImg($pic->type);
             if ($pic->saveAs($caminho . $model->itens_id . DIRECTORY_SEPARATOR . $nm, true)) {
                 $img_add = new ItensMultimidia();
                 $img_add->itens_multimidia_caminho = $nm;
                 $img_add->itens_id = $model->itens_id;
                 /* Checa a existência do id na tabela multimidia */
                 $iTM = isset($_POST[md5("alt_id_upload-" . $i)]) ? ItensMultimidia::model()->findByPk($_POST[md5("alt_id_upload-" . $i)]) : NULL;
                 if (isset($iTM) && $iTM->count()) {
                     $img_add = ItensMultimidia::model()->findByPk($_POST[md5("alt_id_upload-" . $i)]);
                     $img_add->itens_multimidia_id = $iTM->itens_multimidia_id;
                     $img_add->itens_multimidia_caminho = base64_decode($_POST["files_actual_" . $i]);
                     $img_add->itens_id = $model->itens_id;
                 }
                 try {
                     $img_add->save();
                 } catch (CDbException $e) {
                     $transaction->rollback();
                     $model->addError(null, $e->getMessage());
                 }
             }
         }
     }
     if ($nothing_uploads == false) {
         /* Deleta ou atualiza a tabela multimidia */
         for ($i = 0; $i <= $max; $i++) {
             try {
                 $EXC = isset($_POST["itens_multimidia_excluir_" . $i]) ? ItensMultimidia::model()->deleteByPk(base64_decode($_POST["itens_multimidia_excluir_" . $i])) : '';
                 isset($_POST["itens_multimidia_excluir_" . $i]) && file_exists($caminho . $model->itens_id . DIRECTORY_SEPARATOR . base64_decode($_POST["files_actual_" . $i])) ? unlink($caminho . $model->itens_id . DIRECTORY_SEPARATOR . base64_decode($_POST["files_actual_" . $i])) : '';
             } catch (CDbException $e) {
                 //$transaction->rollback();
                 echo $e->getMessage();
             }
         }
     }
 }
 public function actionClear($id)
 {
     $this->layout = 'column2';
     $model = Itens::model()->find(array('select' => '*', 'condition' => 'itens_id=:itens_id', 'params' => array(':itens_id' => $id)));
     try {
         $transaction = Yii::app()->db->beginTransaction();
         if (count($model) > 0) {
             ItensMultimidia::model()->deleteAll(array('condition' => "itens_id = :itens_id", 'params' => array(':itens_id' => $id)));
             StatusNegocios::model()->deleteAll(array('condition' => "itens_id = :itens_id", 'params' => array(':itens_id' => $id)));
             //	echo Itens::model()->deleteByPk($id); exit;
             if (Itens::model()->deleteByPk($id)) {
                 $transaction->commit();
             }
             Yii::app()->user->setState('frm_clear', true);
             $this->redirect(array('admin'));
         }
     } catch (CDbException $e) {
         $transaction->rollback();
         //$model->addError(null, $e->getMessage());
     }
     $this->render('index', array('model' => $model));
 }
 public function actionClear($id)
 {
     $this->layout = 'column2';
     $model = Usuario::model()->find(array('select' => '*', 'condition' => 'usuario_id=:usuario_id', 'params' => array(':usuario_id' => $id)));
     $itens = Itens::model()->findAll(array('select' => '*', 'condition' => 'usuario_id=:usuario_id', 'params' => array(':usuario_id' => $id)));
     $arr_itens = '';
     foreach ($itens as $key => $values) {
         $arr_itens .= $values->itens_id . ',';
     }
     if ($arr_itens) {
         $arr_itens = substr($arr_itens, 0, -1);
     }
     try {
         $transaction = Yii::app()->db->beginTransaction();
         if (count($model) > 0) {
             $criteria = new CDbCriteria();
             if (strlen($arr_itens)) {
                 $criteria->condition = 'itens_id in(' . $arr_itens . ')';
                 ItensMultimidia::model()->deleteAll($criteria);
                 StatusNegocios::model()->deleteAll($criteria);
                 Itens::model()->deleteAll($criteria);
             }
             //	echo Itens::model()->deleteByPk($id); exit;
             if (Usuario::model()->deleteByPk($id)) {
                 $transaction->commit();
             }
             Yii::app()->user->setState('frm_clear', true);
             $this->redirect(array('admin'));
         }
     } catch (CDbException $e) {
         $transaction->rollback();
         //$model->addError(null, $e->getMessage());
     }
     $this->render('index', array('model' => $model));
 }