Example #1
0
 public function searchAdmin($criteria = null)
 {
     if (is_null($criteria)) {
         $criteria = new CDbCriteria();
     }
     $criteria->select = "t.*,GROUP_CONCAT(concat(ecer_descr,' [',ecer_status,']') SEPARATOR '<br/>') error";
     $criteria->join = "LEFT OUTER JOIN ecer_errors ON ecer_ecnt_id = ecnt_id";
     $criteria->group = "ecnt_id";
     if (!empty($this->ecnt_datetime_range)) {
         $criteria->AddCondition("t.ecnt_datetime >= '" . substr($this->ecnt_datetime_range, 0, 10) . "'");
         $criteria->AddCondition("t.ecnt_datetime <= '" . substr($this->ecnt_datetime_range, -10) . "'");
     }
     return new CActiveDataProvider(get_class($this), array('criteria' => $this->searchCriteria($criteria), 'sort' => array('defaultOrder' => 'ecnt_datetime DESC')));
 }
 public function searchCriteria($criteria = null)
 {
     if (is_null($criteria)) {
         $criteria = new CDbCriteria();
     }
     if (!empty($this->task_name)) {
         $criteria->join .= ' inner join ttsk_task  on tcmn_ttsk_id = ttsk_id ';
         $criteria->compare('ttsk_name', $this->task_name, true);
     }
     if (!empty($this->tcmn_date_range)) {
         $criteria->AddCondition("tcmn_datetime >= '" . substr($this->tcmn_date_range, 0, 10) . "'");
         $criteria->AddCondition("tcmn_datetime <= '" . substr($this->tcmn_date_range, -10) . "'");
     }
     return parent::searchCriteria($criteria);
 }
Example #3
0
 public function searchCriteria($criteria = null)
 {
     if (is_null($criteria)) {
         $criteria = new CDbCriteria();
     }
     if (!empty($this->person_list)) {
         $criteria->join .= ' inner join tprs_persons  on ttsk_id = tprs_ttsk_id ';
         $criteria->compare('tprs_pprs_id', $this->person_list);
     }
     if (!empty($this->tcmn_date_range)) {
         $criteria->join .= ' inner join tcmn_communication  on ttsk_id = tcmn_ttsk_id ';
         $criteria->AddCondition("tcmn_datetime >= '" . substr($this->tcmn_date_range, 0, 10) . "'");
         $criteria->AddCondition("tcmn_datetime <= '" . substr($this->tcmn_date_range, -10) . "'");
     }
     return parent::searchCriteria($criteria);
 }
Example #4
0
 /**
  * Attached event for anytime a product photo is uploaded
  * @param $event
  * @return bool
  */
 public function onUploadPhoto($event)
 {
     //We were passed these by the CEventPhoto class
     $blbImage = $event->blbImage;
     //$image resource
     $objProduct = $event->objProduct;
     $intSequence = $event->intSequence;
     //Check to see if we have an Image record already
     $criteria = new CDbCriteria();
     $criteria->AddCondition("`product_id`=:product_id");
     $criteria->AddCondition("`index`=:index");
     $criteria->AddCondition("`parent`=`id`");
     $criteria->params = array(':index' => $intSequence, ':product_id' => $objProduct->id);
     $objImage = Images::model()->find($criteria);
     if (!$objImage instanceof Images) {
         $objImage = new Images();
     } else {
         $objImage->DeleteImage();
     }
     //Assign width and height of original
     $objImage->width = imagesx($blbImage);
     $objImage->height = imagesy($blbImage);
     //Assign filename this image, actually write the binary file
     $strImageName = Images::AssignImageName($objProduct, $intSequence);
     $objImage->SaveImageData($strImageName, $blbImage);
     $objImage->product_id = $objProduct->id;
     $objImage->index = $intSequence;
     //Save image record
     Yii::trace("saving {$strImageName}", 'application.' . __CLASS__ . "." . __FUNCTION__);
     if (!$objImage->save()) {
         Yii::log("Error saving image " . print_r($objImage->getErrors(), true), 'error', 'application.' . __CLASS__ . "." . __FUNCTION__);
         return false;
     }
     $objImage->parent = $objImage->id;
     //Assign parent to self
     $objImage->save();
     //Update product record with imageid if this is a primary
     if ($intSequence == 0) {
         $objProduct->image_id = $objImage->id;
         if (!$objProduct->save()) {
             Yii::log("Error updating product " . print_r($objProduct->getErrors(), true), 'error', 'application.' . __CLASS__ . "." . __FUNCTION__);
             return false;
         }
     }
     $this->createThumbnails($objImage);
     return true;
 }
 public function findhMonth($month)
 {
     $sql = "set @month = :month";
     $rawData = Yii::app()->db->createCommand($sql);
     $rawData->bindParam(":month", $month, PDO::PARAM_STR);
     $rawData->query();
     $criteria = new CDbCriteria();
     //filtrēšana pēc mēneša
     $criteria->AddCondition("cled_date >= ADDDATE(concat(@month,'-01',-1) \n                AND cled_date <= ADDDATE(@month,'-01', INTERVAL  1 MONTH )");
     $criteria->order = 'cled_date';
     return self::model()->findAll($criteria);
 }
Example #6
0
 public static function GetOriginal($objProduct)
 {
     //Check to see if we have an Image record already
     $criteria = new CDbCriteria();
     $criteria->AddCondition("`product_id`=:product_id");
     $criteria->AddCondition("`index`=:index");
     $criteria->AddCondition("`parent`=`id`");
     $criteria->params = array(':index' => 0, ':product_id' => $objProduct->id);
     return Images::model()->find($criteria);
 }
 /**
  * When a category is chosen, find subcategories available for that selection
  */
 public function actionIntsubcats()
 {
     $service = Yii::app()->getRequest()->getQuery('service');
     $intLevel = Yii::app()->getRequest()->getQuery('lv');
     $intSelected = Yii::app()->getRequest()->getQuery('selected');
     $strModelName = "Category" . ucfirst($service);
     //Model for 3rd party service
     $objPicked = $strModelName::model()->findByPk($intSelected);
     if ($intLevel < 1 || $intLevel > 9) {
         $intLevel = 1;
     }
     $strNext = "name" . ($intLevel + 1);
     $strAfter = "name" . ($intLevel + 2);
     $criteria = new CDbCriteria();
     $criteria->select = 't.id,t.' . $strNext;
     $criteria->order = $strNext;
     $arrParam = array();
     for ($x = 1; $x <= $intLevel; $x++) {
         $criteria->AddCondition("name" . $x . "=:name" . $x);
         $strThis = "name" . $x;
         $arrParam[':name' . $x] = $objPicked->{$strThis};
     }
     $criteria->AddCondition($strNext . " is NOT NULL");
     $criteria->AddCondition($strAfter . " is NULL");
     $criteria->params = $arrParam;
     $arrReturn['cats'] = CHtml::listData($strModelName::model()->findAll($criteria), 'id', $strNext);
     if (isset($objPicked->product_type)) {
         $arrReturn['producttypes'] = $this->getProductTypes($objPicked->product_type);
     }
     echo json_encode($arrReturn);
 }
Example #8
0
 /**
  * Retrieves a list of models based on the current search/filter conditions.
  *
  * Typical usecase:
  * - Initialize the model fields with values from filter form.
  * - Execute this method to get CActiveDataProvider instance which will filter
  * models according to data in model fields.
  * - Pass data provider to CGridView, CListView or any similar widget.
  *
  * @return CActiveDataProvider the data provider that can return the models
  * based on the search/filter conditions.
  */
 public function search($id = 1)
 {
     // @todo Please modify the following code to remove attributes that should not be searched.
     $criteria = new CDbCriteria();
     $criteria->compare('user_id', $this->user_id);
     $criteria->compare('user_name', trim($this->user_name), true);
     $criteria->compare('user_image', $this->user_image, true);
     $criteria->compare('user_email', trim($this->user_email), true);
     $criteria->compare('user_password', $this->user_password, true);
     $criteria->compare('user_status', $this->user_status, true);
     $criteria->compare('user_role_type', $this->user_role_type);
     $criteria->compare('user_department_id', $this->user_department_id);
     $criteria->compare('user_created_by_id', $this->user_created_by_id);
     $criteria->compare('user_last_login_time', $this->user_last_login_time, true);
     $criteria->compare('user_last_logout_time', $this->user_last_logout_time, true);
     $criteria->compare('user_ip_address', $this->user_ip_address, true);
     $criteria->compare('created_date', $this->created_date, true);
     $criteria->compare('updated_date', $this->updated_date, true);
     $criteria->compare('phone', $this->phone, true);
     $criteria->compare('skype', $this->skype, true);
     if ($id == 1) {
         if ($this->getAllUserbyCreated(Yii::app()->session['user_data']['user_id'])) {
             $criteria->AddInCondition('user_created_by_id ', $this->all);
         }
         $criteria->AddCondition('user_role_type != 5');
     } else {
         if (in_array(Yii::app()->session['user_data']['user_role_type'], array(0, 1, 2))) {
             $criteria->AddCondition('user_role_type ==5');
         } else {
             $criteria->AddCondition('user_id==0 ');
         }
     }
     return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'user_id asc'), 'pagination' => array('pageSize' => 20)));
 }
<?php

//We cheat a bit and use google naming on some field so our CSS still works
switch ($_GET['item']) {
    case 'name0':
        echo '<div class="restrictions">';
        $form = $this->beginWidget('CActiveForm', array('id' => 'googlecats', 'enableAjaxValidation' => false, 'enableClientValidation' => false));
        echo '<h4>Editing: ' . $strRequestUrl . '</h4><div class="ginstructions">Choose the most appropriate ' . ucfirst($service) . ' category path for this item. Choose subcategories as needed. If the next dropdown remains dark, that means there are no additional levels for that category. ' . $strModelName::getInstructions() . '</div>';
        echo '<form>';
        $criteria = new CDbCriteria();
        $criteria->select = 't.id, t.name1';
        $criteria->AddCondition("name2 is NULL");
        $criteria->order = "name1";
        $arrCats = CHtml::listData($strModelName::model()->findAll($criteria), 'id', 'name1');
        echo $form->dropdownList($model, 'id', $arrCats, array('id' => 'name1', 'class' => 'tinyfont googleselect', 'prompt' => '--Choose--'));
        for ($x = 2; $x <= 7; $x++) {
            echo '<br>' . str_repeat('&nbsp;', $x * 2) . '<select disabled="true" name="name' . $x . '" id="name' . $x . '" class="tinyfont googleselect" >';
            echo '<option value="0">';
            echo '</select>';
        }
        if ($service == "google") {
            echo '<div id="extra" class="extra">' . str_repeat('&nbsp;', $x * 2) . '&nbsp;Required for Apparel &amp; Accessories only: <b>Gender</b> <select name="googleg" id="googleg" class="tinyfont" >';
            echo '<option value="Unisex">Unisex';
            echo '<option value="Male">Male';
            echo '<option value="Female">Female';
            echo '</select>&nbsp;';
            echo '<b>Age</b> <select name="googlea" id="googlea" class="tinyfont" >';
            echo '<option value="Adult">Adult';
            echo '<option value="Kids">Kids';
            echo '</select></div>';
        }
 /**
  * Список статей для разных вкладок
  */
 public function actionList_articles()
 {
     $criteria = new CDbCriteria();
     $criteria->with = array('idCategory0', 'idMenu0', 'idUser0', 'commentsCount', 'tagstoarticles');
     $criteria->condition = 'moderationAppruv = 1 AND public = 1 AND deleted = 0';
     if (isset($_GET['listType']) || isset($_POST['listType'])) {
         $listType = isset($_GET['listType']) ? $_GET['listType'] : $_POST['listType'];
     } else {
         $listType = 'main';
     }
     switch ($listType) {
         case 'razdel':
             if (isset($_GET['idMenu'])) {
                 $this->breadcrumbs = AuxiliaryFunctions::fillingBreadcrumbs($_GET['idMenu'], 'mainMenu');
                 $criteria->AddCondition('t.idMenu = :idMenu');
                 $criteria->params = array(':idMenu' => $_GET['idMenu']);
             }
             $criteria->order = 'dateCreate DESC';
             $this->_listCategory = Categorys::getAllCategories($_GET['idMenu'], true, true);
             $this->render('_list_articles', $this->getArticlesDataProvider($criteria));
             break;
         case 'category':
             if (isset($_GET['idMenu']) && isset($_GET['idCategory'])) {
                 $this->breadcrumbs = AuxiliaryFunctions::fillingBreadcrumbs($_GET['idCategory'], 'category');
                 $criteria->AddCondition('t.idMenu = :idMenu AND t.idCategory = :idCategory');
                 $criteria->params = array(':idMenu' => $_GET['idMenu'], ':idCategory' => $_GET['idCategory']);
             }
             $criteria->order = 'dateCreate DESC';
             $this->_listCategory = Categorys::getAllCategories($_GET['idMenu'], true, true);
             $this->render('_list_articles', $this->getArticlesDataProvider($criteria));
             break;
         case 'tags':
             if (isset($_GET['idTag'])) {
                 $idTag = trim(htmlspecialchars($_GET['idTag']));
                 $criteria->join = 'INNER JOIN tagstoarticles AS t2a ON t2a.idTag = ' . $idTag . '';
                 $criteria->AddCondition('t2a.idArticle = t.idArticle');
             }
             $criteria->order = 'dateCreate DESC';
             $this->render('_list_articles', $this->getArticlesDataProvider($criteria));
             break;
         case 'search':
             if (isset($_POST['soughtValue'])) {
                 $searchResult = Articles::model()->getListArticles($_POST['soughtValue']);
                 if (!empty($searchResult)) {
                     $dataProvider = new CArrayDataProvider($searchResult, array('keyField' => 'idArticle'));
                     $popup = $this->renderPartial('_list_articles_search', array('dataProvider' => $dataProvider), true);
                     echo CJSON::encode(array('popup' => $popup));
                     exit;
                 } else {
                     echo CJSON::encode(array('result' => null));
                     exit;
                 }
             }
             break;
         case 'cabinet_appruve':
             $criteria->condition = 'moderationAppruv = 0 AND deleted = 0';
             if (Yii::app()->user->id) {
                 $criteria->AddCondition('t.idUser = :idUser');
                 $criteria->params = array(':idUser' => Yii::app()->user->id);
                 $criteria->order = 'dateCreate DESC';
                 $popup = $this->renderPartial('_list_articles_cabinet', $this->getArticlesDataProvider($criteria), true);
                 echo CJSON::encode(array('popup' => $popup));
                 exit;
             }
             break;
         case 'cabinet_public':
             if (Yii::app()->user->id) {
                 $criteria->AddCondition('t.idUser = :idUser');
                 $criteria->params = array(':idUser' => Yii::app()->user->id);
                 $criteria->order = 'dateCreate DESC';
                 $popup = $this->renderPartial('_list_articles_cabinet', $this->getArticlesDataProvider($criteria), true);
                 echo CJSON::encode(array('popup' => $popup));
                 exit;
             }
             break;
         case 'cabinet_bookmarks':
             if (Yii::app()->user->id) {
                 if (isset($_POST['idMenu'])) {
                     $criteria->join = 'INNER JOIN bookmarks AS b ON b.idUser = '******' AND b.idArticle = t.idArticle';
                     $criteria->AddCondition('t.idMenu = :idMenu');
                     $criteria->params = array(':idMenu' => $_POST['idMenu']);
                     if (isset($_POST['idCategory'])) {
                         $criteria->AddCondition('t.idCategory = :idCategory');
                         $criteria->params[':idCategory'] = $_POST['idCategory'];
                     }
                 }
                 $criteria->order = 'dateCreate DESC';
                 $popup = $this->renderPartial('_list_articles_cabinet', $this->getArticlesDataProvider($criteria), true);
                 echo CJSON::encode(array('popup' => $popup));
                 exit;
             }
             break;
     }
 }
Example #11
0
 /**
  * Retrieves a list of models based on the current search/filter conditions.
  *
  * Typical usecase:
  * - Initialize the model fields with values from filter form.
  * - Execute this method to get CActiveDataProvider instance which will filter
  * models according to data in model fields.
  * - Pass data provider to CGridView, CListView or any similar widget.
  *
  * @return CActiveDataProvider the data provider that can return the models
  * based on the search/filter conditions.
  */
 public function search()
 {
     // @todo Please modify the following code to remove attributes that should not be searched.
     $criteria = new CDbCriteria();
     $client_name = isset($_GET['Ticket']['clientname']) ? $_GET['Ticket']['clientname'] : '';
     $criteria->compare('ticket_id', trim($this->ticket_id), true);
     $criteria->compare('candidate_key', trim($this->candidate_key), true);
     $criteria->compare('ticket_title', trim($this->ticket_title), true);
     if (!empty($client_name)) {
         $clients = Users::model()->getAllClients($client_name);
         //print_r($clients);
         $clientsList = implode(",", $clients);
         $ordlists = Orders::model()->findAllByAttributes(array(), 'client_id in (' . $clientsList . ')');
         $ordlist = array();
         foreach ($ordlists as $single) {
             $ordlist[] = $single->order_id;
         }
         $criteria->AddInCondition('order_id', $ordlist);
     } else {
         $criteria->compare('order_id', trim($this->order_id));
     }
     $criteria->compare('description', trim($this->description), true);
     $criteria->compare('department_id', $this->department_id);
     $criteria->compare('ticket_resolve_date', $this->ticket_resolve_date, true);
     $criteria->compare('ticket_status', $this->ticket_status);
     $criteria->compare('closed_at', $this->closed_at, true);
     $criteria->compare('closed_by', $this->closed_by);
     $criteria->compare('read_by', $this->read_by, true);
     $criteria->compare('read', $this->read, true);
     $criteria->compare('close_reason', $this->close_reason, true);
     $criteria->compare('created_date', $this->created_date, true);
     $criteria->compare('updated_date', $this->updated_date, true);
     if (!in_array(Yii::app()->session['user_data']['user_role_type'], array(0, 1, 2))) {
         $ticketList = TicketAssign::model()->getTicketbyUser(Yii::app()->session['user_data']['user_id']);
         $ticket_ids = array();
         foreach ($ticketList as $ticket) {
             $ticket_ids[] = $ticket['ticket_id'];
         }
         if (!empty($ticket_ids)) {
             $criteria->AddInCondition('ticket_id', $ticket_ids);
         } else {
             if (!isset($_GET['clientsTicket'])) {
                 $criteria->addCondition('ticket_id==0');
             }
         }
         //             if (!isset($_GET['clientsTicket'])) {
         //               $criteria->AddCondition('ticket_status !=1');
         //             }
     } else {
         if (isset($_GET['user_id'])) {
             $ticketList = TicketAssign::model()->getTicketbyUser(Yii::app()->session['user_data']['user_id']);
             $ticket_ids = array();
             foreach ($ticketList as $ticket) {
                 $ticket_ids[] = $ticket['ticket_id'];
             }
             if (!empty($ticket_ids)) {
                 $criteria->AddInCondition('ticket_id', $ticket_ids);
             } else {
                 $criteria->Addcondition('ticket_id==0');
             }
         }
     }
     if (isset($_GET['ts'])) {
         if (isset($_GET['Ticket']['ticket_status'])) {
             $_GET['ts'] = $_GET['Ticket']['ticket_status'];
         }
         $ts = $_GET['ts'];
         if ($ts) {
             $criteria->AddCondition('ticket_status ==' . $ts);
         }
     }
     if (isset($_GET['client'])) {
         $client_id = base64_decode($_GET['client']);
         $order_ids = Ticket::Orderlistbyclients($client_id);
         if (!empty($order_ids)) {
             $criteria->AddInCondition('order_id', $order_ids);
         } else {
             $criteria->Addcondition('order_id==0');
         }
     }
     if (isset($_GET['clientsTicket'])) {
         $client_id = base64_decode($_GET['clientsTicket']);
         $order_ids = Ticket::Orderlistbyclients($client_id);
         if (!empty($order_ids)) {
             $criteria->AddInCondition('order_id', $order_ids);
         } else {
             $criteria->Addcondition('order_id==0');
         }
     }
     return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'ticket_id DESC'), 'pagination' => array('pageSize' => 20)));
 }
Example #12
0
 public function RemoveImageFromS3($objImage, $image_path = null)
 {
     $this->init();
     $s3 = new S3($_SERVER['amazon_key'], $_SERVER['amazon_secret']);
     if (is_null($image_path)) {
         $criteria = new CDbCriteria();
         $criteria->AddCondition("`product_id`=:product_id");
         $criteria->AddCondition("`index`=:index");
         $criteria->params = array(':index' => $objImage->index, ':product_id' => $objImage->product_id);
         $objImages = Images::model()->findAll($criteria);
         foreach ($objImages as $image) {
             Yii::log("Attempting to delete  " . $image->image_path, 'info', 'application.' . __CLASS__ . "." . __FUNCTION__);
             $key = str_replace("//lightspeedwebstore.s3.amazonaws.com/", "", $image->image_path);
             if (!empty($image->image_path)) {
                 $s3->deleteObject('lightspeedwebstore', $key);
             }
         }
     } else {
         $image_path = str_replace("http:", "", $image_path);
         $image_path = str_replace("//lightspeedwebstore.s3.amazonaws.com/", "", $image_path);
         $s3->deleteObject('lightspeedwebstore', $image_path);
     }
 }