Esempio n. 1
0
 public function filterSearch()
 {
     //Переменные, полученные со страницы запроса
     $agency_name = $this->input->post('name', TRUE);
     $user_city = $this->input->post('city', TRUE);
     $sort_by_rate = $this->input->post('rating', TRUE) ? TRUE : FALSE;
     //Формируем строку запроса к базе данных на основе полученных значений фильтров
     $querys = array();
     //Если в запросе есть название агенства
     if (!empty($agency_name)) {
         $querys[] = 'a.name LIKE \'%' . $agency_name . '%\'';
     }
     //Если явно указан город
     if ($user_city != '0') {
         $querys[] = 'a.city_id = ' . $user_city;
     }
     //Сортировка по рейтингу
     $order = $sort_by_rate ? 'a.rating DESC' : 'a.id ASC';
     $query = count($querys) != 0 ? implode(' AND ', $querys) : '1';
     $agencys = Doctrine_Query::Create()->from('Agency a')->leftJoin('a.user u')->leftJoin('u.paid_feature p')->where('p.show_in_catalog_date > ?', strtotime('now'))->orWhere('a.manually_in_catalog = ?', '1')->andWhere($query)->orderBy($order)->execute();
     if (count($agencys) > 0) {
         $results = $this->createAgencysHtml($agencys);
     } else {
         $results = 'Поиск не дал результатов!';
     }
     $selected_items = array('name' => $agency_name, 'city' => $user_city, 'rating' => $sort_by_rate);
     $data = array('selected_items' => $selected_items, 'results' => $results, 'last_comments' => $this->getLastCommentsBlock(), 'pagination' => '');
     $this->template->view('catalog/main', $data);
 }
Esempio n. 2
0
 protected function prepareUpdateView($baseModel = NULL)
 {
     $route_types = array();
     $trunkList = array();
     $interfaceList = array();
     $numbers = Doctrine_Query::Create()->select("Number.number_id,Number.number,Number.foreign_id")->from("Number,NumberPool,NumberType")->where("NumberType.class='ExternalXferNumber'")->andWhere("NumberType.number_type_id=NumberPool.number_type_id")->andWhere("NumberPool.number_id=Number.number_id");
     if ($this->externalxfer->external_xfer_id) {
         $numbers = $numbers->andWhere("(Number.class_type='' or Number.class_type IS NULL or Number.foreign_id=?)", $this->externalxfer->external_xfer_id);
     } else {
         $numbers = $numbers->andWhere("(Number.class_type='' or Number.class_type IS NULL )");
     }
     $numbers = $numbers->orderBy('Number.number')->execute(array(), Doctrine::HYDRATE_SCALAR);
     $this->view->numbers = array();
     $this->view->numberdefault = NULL;
     $matchcount = 0;
     foreach ($numbers as $number) {
         $this->view->numbers[$number['Number_number_id']] = $number['Number_number'];
         if ($this->externalxfer->external_xfer_id == $number['Number_foreign_id']) {
             $this->view->numberdefault = $number['Number_number_id'];
             $matchcount++;
         }
     }
     if ($matchcount > 1) {
         message::set('This record cannot be edited, due to having multiple numbers');
         $this->returnQtipAjaxForm(NULL);
         url::redirect(Router_Core::$controller);
     }
     if (class_exists('Trunk')) {
         $trunks = Doctrine::getTable('Trunk')->findAll(Doctrine::HYDRATE_ARRAY);
         foreach ($trunks as $trunk) {
             $trunkList[$trunk['trunk_id']] = $trunk['name'];
         }
         if (!empty($trunkList)) {
             $route_types[ExternalXfer::TYPE_TRUNK] = 'via Trunk';
         }
     }
     if (class_exists('SipInterface')) {
         $interfaces = Doctrine::getTable('SipInterface')->findAll(Doctrine::HYDRATE_ARRAY);
         foreach ($interfaces as $interface) {
             $interfaceList[$interface['sipinterface_id']] = $interface['name'];
         }
         if (!empty($interfaceList)) {
             $route_types[ExternalXfer::TYPE_SIP] = 'via SIP URI';
         }
     }
     if (empty($route_types)) {
         message::set('No Trunk or Sip Interfaces avaliable to route external destinations through!');
         $this->returnQtipAjaxForm(NULL);
         url::redirect(Router_Core::$controller);
     }
     if (empty($numbers)) {
         message::set('No extensions available!');
         $this->returnQtipAjaxForm(NULL);
         url::redirect(Router_Core::$controller);
     }
     $this->view->trunks = $trunkList;
     $this->view->interfaces = $interfaceList;
     $this->view->route_types = $route_types;
     parent::prepareUpdateView($baseModel);
 }
 public function getActiveJobs($max = 10)
 {
     $query = Doctrine_Query::Create()->from('JobeetJob j')->where('j.category_id = ?', $this->getId())->limit($max);
     return Doctrine::getTable('JobeetJob')->getActiveJobs($query);
 }
Esempio n. 4
0
 public function getByClockIn($clock_in)
 {
     return Doctrine_Query::Create()->from('TimeLogType t')->where('t.clock_in <> ?', $clock_in)->execute();
 }
Esempio n. 5
0
 public static function queryWithSlots($version = false, $culture = null)
 {
     if (is_null($culture)) {
         $culture = aTools::getUserCulture();
     }
     $query = Doctrine_Query::Create()->select("p.*, a.*, v.*, avs.*, s.*, m.*")->from("aPage p");
     if ($culture === 'all') {
         $query = $query->leftJoin('p.Areas a');
     } else {
         $query = $query->leftJoin('p.Areas a WITH a.culture = ?', array($culture));
     }
     if ($version === false) {
         $query = $query->leftJoin('a.AreaVersions v WITH (a.latest_version = v.version)');
     } else {
         $query = $query->leftJoin('a.AreaVersions v WITH (v.version = ?)', array($version));
     }
     return $query->leftJoin('v.AreaVersionSlots avs')->leftJoin('avs.Slot s')->leftJoin('s.MediaItems m')->orderBy('avs.rank asc');
 }
Esempio n. 6
0
 public function isEntitled()
 {
     return Doctrine_Query::Create()->from('Task t')->where('t.created_by = ?', myUser::getLoggedIn()->getId())->andWhere('t.id = ?', $this->getId())->orWhere('t.user_id = ?', myUser::getLoggedIn()->getId())->andWhere('t.id = ?', $this->getId())->limit(1)->fetchOne();
 }
 /**
  * Retrieves folder by relative path
  *
  * @param string $path
  * @param string $separator
  * @return sfAssetFolder
  */
 public static function retrieveByPath($path = '', $separator = DIRECTORY_SEPARATOR)
 {
     $path = self::cleanPath($path);
     return Doctrine_Query::Create()->from('sfAssetFolder f')->where('f.relative_path = ?', $path ? $path : null)->fetchOne();
 }
Esempio n. 8
0
 public function getByStaffId()
 {
     return Doctrine_Query::Create()->from('TaskComment tc')->where('tc.staff_id = ?', Staff::loggedInId())->execute();
 }
Esempio n. 9
0
 public function getAllByAccountInvoiceId($account_invoice_id)
 {
     return Doctrine_Query::Create()->from('Task t')->where('t.account_invoice_id = ?', $account_invoice_id)->execute();
 }
Esempio n. 10
0
 public function getLastTimeLogTypeByStaffId($staff_id)
 {
     return Doctrine_Query::Create()->select('tl.time_log_type_id')->from('TimeLog tl')->where('tl.staff_id = ?', $staff_id)->orderBy('tl.time DESC')->limit(1)->fetchOne()->time_log_type_id;
 }
 public function getLastRefNo()
 {
     return Doctrine_Query::Create()->select('ai.ref_no')->from('AccountInvoice ai')->orderBy('ai.id DESC')->limit(1)->fetchOne()->ref_no;
 }
Esempio n. 12
0
 public function queryAllByUserId($sort)
 {
     return Doctrine_Query::Create()->from('Account a')->where('a.client_id = ?', myUser::getLoggedIn()->isClient()->getId())->orderBy('a.' . $sort);
 }