public function run()
 {
     $model = new User('search');
     if (count($model->resetScope()->searchNeedApproval()->getData()) != 0) {
         $this->render('profileActivities', array());
     }
 }
Example #2
0
 public function actionChooseNewOwner()
 {
     $apId = Yii::app()->request->getParam('id');
     if (!$apId) {
         throw404();
     }
     $modelApartment = Apartment::model()->findByPk($apId);
     if (!$modelApartment) {
         throw404();
     }
     $this->modelName = 'ChangeOwner';
     $model = new ChangeOwner();
     $modelUser = new User('search');
     $modelUser->resetScope();
     $modelUser->unsetAttributes();
     // clear any default values
     if (isset($_GET['User'])) {
         $modelUser->attributes = $_GET['User'];
     }
     $modelUser->active = 1;
     if (Yii::app()->request->isPostRequest) {
         if (isset($_POST)) {
             $futureOwner = isset($_POST['itemsSelected']) && isset($_POST['itemsSelected'][0]) ? $_POST['itemsSelected'][0] : '';
             $futureApartments = array($apId);
             $model->setAttributes(array('futureOwner' => $futureOwner, 'futureApartments' => array($apId)));
             if ($model->validate()) {
                 if ($futureOwner && is_array($futureApartments)) {
                     $sql = 'UPDATE {{apartment}} SET owner_id = ' . $futureOwner . ' WHERE id IN (' . implode(', ', $futureApartments) . ')';
                     Yii::app()->db->createCommand($sql)->execute();
                     $sql = 'UPDATE {{images}} SET id_owner = ' . $futureOwner . ' WHERE id_object IN (' . implode(', ', $futureApartments) . ')';
                     Yii::app()->db->createCommand($sql)->execute();
                     Yii::app()->cache->flush();
                     Yii::app()->user->setFlash('success', tc('Success'));
                     Yii::app()->controller->redirect(array('admin'));
                 }
             }
         }
     }
     $renderData = array('apId' => $apId, 'model' => $model, 'modelUser' => $modelUser, 'modelApartment' => $modelApartment);
     if (Yii::app()->request->isAjaxRequest) {
         $this->renderPartial('change_owner', $renderData, false, true);
     } else {
         $this->render('change_owner', $renderData);
     }
 }
Example #3
0
 public function actionImportUpload()
 {
     $model = new $this->modelName();
     $session = Yii::app()->session;
     $modelUsers = new User('search');
     $modelUsers->resetScope();
     $modelUsers->active();
     $modelUsers->unsetAttributes();
     // clear any default values
     if (isset($_GET['User'])) {
         $modelUsers->attributes = $_GET['User'];
     }
     if (!isset($_FILES[$this->modelName]) && isset($session['importAds']) && $session['importAds']) {
         $itemsProvider = new CArrayDataProvider($session['importAds'], array('sort' => array('attributes' => array('title')), 'pagination' => array('pageSize' => count($session['importAds']))));
         $this->render('view_import_grid', compact('itemsProvider', 'model', 'modelUsers'));
     } else {
         if (isset($_FILES[$this->modelName]) && isset($_FILES[$this->modelName]['name'])) {
             $model->import = CUploadedFile::getInstance($model, 'import');
             if ($model->validate()) {
                 $fileExt = $model->import->extensionName;
                 $fileName = date('Y_m_d_s') . rand(0, 9) . '_import.' . $fileExt;
                 $filePath = $model->csvPath . DIRECTORY_SEPARATOR . $fileName;
                 $model->import->saveAs($filePath);
                 $isZip = false;
                 // if zip arhive
                 if ($fileExt == 'zip') {
                     $isZip = true;
                     include_once $model->libraryPath . DIRECTORY_SEPARATOR . 'pclzip.lib.php';
                     $archive = new PclZip($filePath);
                     $list = $archive->extract(PCLZIP_OPT_PATH, $model->csvPath, PCLZIP_OPT_SET_CHMOD, 0777, PCLZIP_OPT_REMOVE_ALL_PATH);
                     $v_list = $archive->delete();
                     /* if ($v_list == 0) {
                     	  die("Error : ".$archive->errorInfo(true));
                     	  } */
                     foreach ($list as $item) {
                         if (strpos($item["stored_filename"], ".csv")) {
                             if ($item["stored_filename"] != $fileName) {
                                 $fileNameCSV = str_replace(".zip", ".csv", $fileName);
                                 if (copy($model->csvPath . DIRECTORY_SEPARATOR . $item["stored_filename"], $model->csvPath . DIRECTORY_SEPARATOR . $fileNameCSV)) {
                                     @unlink($model->csvPath . DIRECTORY_SEPARATOR . $item["stored_filename"]);
                                 } else {
                                     Yii::app()->user->setFlash('error', tt('Error copying file. Please try again later and set 0777 for ' . $model->csvPath));
                                     $this->redirect('viewImport');
                                 }
                                 @unlink($model->csvPath . DIRECTORY_SEPARATOR . $item["stored_filename"]);
                                 @unlink($model->csvPath . DIRECTORY_SEPARATOR . $fileName);
                                 $fileName = $fileNameCSV;
                                 $filePath = $model->csvPath . DIRECTORY_SEPARATOR . $fileName;
                             }
                             break;
                         }
                     }
                 }
                 $import = $rowData = array();
                 //parse csv file
                 @setlocale(LC_ALL, 'en_US.utf8');
                 if (($handle = fopen($filePath, "r")) !== FALSE) {
                     while (($data = fgetcsv($handle, 0, ";")) !== FALSE) {
                         $import[] = $data;
                     }
                     fclose($handle);
                     $keys = $import[0];
                     // remove BOM from file
                     $bom = pack('H*', 'EFBBBF');
                     $keys[0] = preg_replace("/^{$bom}/", '', $keys[0]);
                     unset($import[0]);
                     $j = 1;
                     foreach ($import as $key => $items) {
                         if (count($keys) == count($items)) {
                             $import[$key] = array_combine($keys, $items);
                             $import[$key]["id"] = $j;
                             $j++;
                         } else {
                             continue;
                         }
                     }
                     // insert result into session
                     $session['importAds'] = $import;
                     $session['isZip'] = $isZip;
                 }
                 $itemsProvider = new CArrayDataProvider($import, array('sort' => array('attributes' => array('title')), 'pagination' => array('pageSize' => count($import))));
                 $this->render('view_import_grid', compact('itemsProvider', 'model', 'modelUsers'));
             } else {
                 Yii::app()->user->setFlash('error', Yii::t('module_iecsv', 'Please select a *.csv or *.zip file for import. Max size of file is {size}.', array('{size}' => $model->fileMaxSizeMessage)));
                 $this->redirect('viewImport');
             }
         } else {
             $this->redirect('viewImport');
         }
     }
 }