public function actionIndex()
 {
     $set = new CRecordSet();
     $set->setPageSize(10);
     $query = new CQuery();
     $query->select("news.*")->from(TABLE_NEWS . " as news")->order("news.id desc");
     $set->setQuery($query);
     $news = new CArrayList();
     foreach ($set->getPaginated()->getItems() as $ar) {
         $newsItem = new CNewsItem($ar);
         $news->add($newsItem->getId(), $newsItem);
     }
     //проверка доступности виджета вконтакте
     /*$check_url = @get_headers('http://vk.com/js/api/openapi.js');
       $cache_vk_id = "vk_access";
       if (is_null(CApp::getApp()->cache->get($cache_vk_id))) {
       	$vk = strpos($check_url[0],'200');
       	CApp::getApp()->cache->set($cache_vk_id, $vk);
       }
       $vk_access = CApp::getApp()->cache->get($cache_vk_id);
       $this->setData("vk_access", $vk_access);*/
     $this->setData("news", $news);
     $this->setData("paginator", $set->getPaginator());
     $this->renderView("_news/public.index.tpl");
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     // комиссии по защите дипломов. показываем только комиссии этого года
     $query = new CQuery();
     $query->select("distinct(comm.id) as id, comm.title as name")->from(TABLE_SAB_COMMISSIONS . " as comm")->condition("comm.title like '%" . $lookup . "%' and year_id=" . CUtils::getCurrentYear()->getId())->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $comm = new CSABCommission(new CActiveRecord($item));
         $value = $comm->title;
         if (!is_null($comm->manager)) {
             $value .= " " . $comm->manager->getName();
         }
         if (!is_null($comm->secretar)) {
             $value .= " (" . $comm->secretar->getName() . ")";
         }
         $diplom = CStaffManager::getDiplom(CRequest::getInt("diplom_id"));
         if (!is_null($diplom)) {
             $cnt = 0;
             foreach ($comm->diploms->getItems() as $d) {
                 if (strtotime($diplom->date_act) == strtotime($d->date_act)) {
                     $cnt++;
                 }
             }
             $value .= " " . $cnt;
         }
         $result[$comm->getId()] = $value;
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $result = 0;
     if (!is_null($contextObject->terms)) {
         $terms = array();
         foreach ($contextObject->terms->getItems() as $term) {
             $terms[] = $term->number;
         }
     }
     $termSectionsData = new CArrayList();
     foreach ($contextObject->terms->getItems() as $term) {
         $query = new CQuery();
         $query->select("sum(if(term.alias = 'lecture', l.value, 0)) as lecture")->from(TABLE_WORK_PLAN_CONTENT_SECTIONS . " as section")->innerJoin(TABLE_WORK_PLAN_CONTENT_LOADS . " as l", "l.section_id = section.id")->innerJoin(TABLE_TAXONOMY_TERMS . " as term", "term.id = l.load_type_id")->leftJoin(TABLE_WORK_PLAN_SELFEDUCATION . " as selfedu", "selfedu.load_id = l.id")->group("l.section_id")->condition("l.term_id = " . $term->getId());
         $items = $query->execute();
         if ($items->getCount() > 0) {
             $termSectionsData->add($term->getId(), $items);
         }
     }
     foreach ($termSectionsData->getItems() as $termId => $termData) {
         if (CBaseManager::getWorkPlanTerm($termId)->number == $terms[0]) {
             $result = 0;
             foreach ($termData as $row) {
                 $result += $row["lecture"];
             }
         }
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $result = array();
     $terms = array();
     $terms[] = "term.name";
     $termIds = array();
     foreach ($contextObject->terms->getItems() as $term) {
         $termIds[] = $term->getId();
         $terms[] = "sum(if(l.term_id = " . $term->getId() . ", l.value, 0)) as t_" . $term->getId();
     }
     if (count($termIds) > 0) {
         $terms[] = "sum(if(l.term_id in (" . join(", ", $termIds) . "), l.value, 0)) as t_sum";
     }
     $query = new CQuery();
     $query->select(join(", ", $terms))->from(TABLE_WORK_PLAN_CONTENT_LOADS . " as l")->innerJoin(TABLE_TAXONOMY_TERMS . " as term", "term.id = l.load_type_id")->innerJoin(TABLE_WORK_PLAN_CONTENT_SECTIONS . " as section", "l.section_id = section.id")->innerJoin(TABLE_WORK_PLAN_CONTENT_CATEGORIES . " as category", "section.category_id = category.id")->condition("category.plan_id = " . $contextObject->getId())->group("l.load_type_id")->order("term.name");
     $objects = $query->execute();
     foreach ($objects->getItems() as $key => $value) {
         $arr = array_values($value);
         $dataRow = array();
         for ($i = 0; $i <= count($value) - 1; $i++) {
             $dataRow[$i] = $arr[$i];
         }
         $result[] = $dataRow;
     }
     return $result;
 }
 public function execute($contextObject)
 {
     $values = array();
     $terms = array();
     foreach ($contextObject->terms->getItems() as $term) {
         $terms[] = "sum(if(l.term_id = " . $term->getId() . ", l.value, 0)) as t_" . $term->getId();
     }
     $query = new CQuery();
     $query->select(join(", ", $terms))->from(TABLE_WORK_PLAN_CONTENT_LOADS . " as l")->innerJoin(TABLE_TAXONOMY_TERMS . " as term", "term.id = l.load_type_id")->innerJoin(TABLE_WORK_PLAN_CONTENT_SECTIONS . " as section", "l.section_id = section.id")->innerJoin(TABLE_WORK_PLAN_CONTENT_CATEGORIES . " as category", "section.category_id = category.id")->condition("category.plan_id = " . $contextObject->getId())->group("l.load_type_id")->order("term.name");
     $objects = $query->execute();
     $auditorTotal = 0;
     foreach ($objects->getItems() as $key => $value) {
         $arr = array_values($value);
         $dataRow = array();
         for ($i = 0; $i <= count($value) - 1; $i++) {
             $dataRow[$i] = $arr[$i];
         }
         foreach ($dataRow as $i) {
             $auditorTotal += $i;
         }
     }
     $selfWorkValueOfLoad = 0;
     foreach ($contextObject->corriculumDiscipline->labors->getItems() as $labor) {
         if ($labor->type->getAlias() == "self_work") {
             $selfWorkValueOfLoad = $labor->value;
         }
     }
     return $auditorTotal + $selfWorkValueOfLoad;
 }
 public function actionGetViewData()
 {
     $result = array();
     $query = new CQuery();
     $query->select("term.id as id, term.name as name")->from(TABLE_WORK_PLAN_COMPETENTIONS . " as competention")->innerJoin(TABLE_TAXONOMY_TERMS . " as term", "term.id = competention.competention_id")->condition("competention.plan_id=" . CRequest::getInt("plan_id") . " AND competention.type=0")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     $query = new CQuery();
     $query->select("distinct(stat.id) as id, stat.name as name")->from(TABLE_QUESTION_STATUS . " as stat");
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     $query = new CQuery();
     $query->select("opinion.id as id, opinion.name as name")->from(TABLE_PROTOCOL_OPINIONS . " as opinion")->condition("opinion.name like '%" . $lookup . "%'")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     $query = new CQuery();
     $query->select("taxonomy.id as id, taxonomy.name as name")->from(TABLE_TAXONOMY . " as taxonomy");
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     // выбор сотрудников
     $query = new CQuery();
     $query->select("term.id as id, term.number as name")->from(TABLE_WORK_PLAN_TERMS . " as term")->condition("plan_id=" . CRequest::getInt("plan_id"))->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     // выбор пользователей
     $query = new CQuery();
     $query->select("user.id as id, user.fio as name")->from(TABLE_USERS . " as user")->condition("user.fio like '%" . $lookup . "%'")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     // выбор сотрудников
     $query = new CQuery();
     $query->select("category.id as id, category.title as name")->from(TABLE_WORK_PLAN_CONTENT_CATEGORIES . " as category")->condition("plan_id=" . CRequest::getInt("plan_id"))->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     // $result = array();
     // выбор активных отчетов
     $query = new CQuery();
     $query->select("report.id as id, report.title as name")->from(TABLE_REPORTS . " as report");
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     // выбор студенческих групп
     $query = new CQuery();
     $query->select("distinct(gr.id) as id, gr.name as name")->from(TABLE_STUDENT_GROUPS . " as gr")->condition("gr.name like '%" . $lookup . "%'")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     $plan = CWorkPlanManager::getWorkplan(CRequest::getInt("plan_id"));
     $query = new CQuery();
     $query->select("parent.id as id, subject.name as name")->from(TABLE_CORRICULUM_DISCIPLINES . " as discipline")->innerJoin(TABLE_CORRICULUM_DISCIPLINES . " as parent", "parent.id = discipline.parent_id")->innerJoin(TABLE_DISCIPLINES . " as subject", "parent.discipline_id = subject.id")->condition("discipline.id = " . $plan->corriculum_discipline_id);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     // выбор сотрудников
     $query = new CQuery();
     $query->select("term.id as id, disc_term.title as name")->from(TABLE_WORK_PLAN_TERMS . " as term")->innerJoin(TABLE_CORRICULUM_DISCIPLINE_SECTIONS . " as disc_term", "disc_term.id = term.number")->condition("term.plan_id=" . CRequest::getInt("plan_id"))->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     // показываем только должности, по которым нет ставок
     $query = new CQuery();
     $query->select("distinct(post.id) as id, post.name as name")->from(TABLE_POSTS . " as post")->condition("id not in (select `dolgnost_id` from `hours_rate`)");
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
示例#18
0
 /**
  * Все дисциплины учебного плана в алфавитном порядке
  *
  * @return CArrayList
  */
 public function getDisciplines()
 {
     $disciplines = new CArrayList();
     $query = new CQuery();
     $query->select("d.*")->from(TABLE_CORRICULUM_DISCIPLINES . " as d")->innerJoin(TABLE_CORRICULUM_CYCLES . " as cycle", "d.cycle_id = cycle.id")->condition("cycle.corriculum_id = " . $this->getId())->innerJoin(TABLE_DISCIPLINES . " as discipline", "discipline.id = d.discipline_id")->order("discipline.name");
     foreach ($query->execute() as $ar) {
         $discipline = new CCorriculumDiscipline(new CActiveRecord($ar));
         $disciplines->add($discipline->getId(), $discipline);
     }
     return $disciplines;
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     // выбор папок
     $query = new CQuery();
     $query->select("folder.id as id, folder.title as name")->from(TABLE_DOCUMENT_FOLDERS . " as folder")->condition("folder.title like '%" . $lookup . "%'")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     // выбор студентов
     $query = new CQuery();
     $query->select("distinct(student.id) as id, student.fio as name")->from(TABLE_STUDENTS . " as student")->condition("student.fio like '%" . $lookup . "%'")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     // выбор сотрудников
     $query = new CQuery();
     $query->select("person.id as id, person.fio as name")->from(TABLE_PERSON . " as person")->condition("person.fio like '%" . $lookup . "%'")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 /**
  * @param CTerm $year
  * @param $alias
  * @return CRate
  */
 public static function getRateByAliasAndYear(CTerm $year, $alias)
 {
     if (!self::getCacheRates()->hasElement($year->getId() . "_" . $alias)) {
         $q = new CQuery();
         $q->select("r.*")->from(TABLE_RATES . " as r")->condition("r.year_id = " . $year->getId() . " AND r.alias='" . $alias . "'");
         foreach ($q->execute()->getItems() as $ar) {
             $rate = new CRate(new CActiveRecord($ar));
             self::addToCache($rate);
         }
     }
     return self::getCacheRates()->getItem($year->getId() . "_" . $alias);
 }
示例#23
0
 /**
  * @return array
  */
 public static function getCommissionsList()
 {
     $result = array();
     $query = new CQuery();
     $query->select("c.*")->from(TABLE_SAB_COMMISSIONS . " as c")->innerJoin(TABLE_YEARS . " as y", "c.year_id = y.id")->order("y.name desc");
     foreach ($query->execute()->getItems() as $ar) {
         $commission = new CSABCommission(new CActiveRecord($ar));
         $nv = $commission->title . " (" . $commission->year->getValue() . ")";
         $result[$commission->getId()] = $nv;
     }
     return $result;
 }
 public function actionTypeAhead($lookup)
 {
     $result = array();
     // унаследованная таксономия
     $taxonomy = CTaxonomyManager::getLegacyTaxonomy($this->taxonomy);
     $query = new CQuery();
     $query->select("distinct(taxonomy.id) as id, taxonomy.name as name")->from($taxonomy->getTableName() . " as taxonomy")->condition("taxonomy.name like '%" . $lookup . "%'")->limit(0, 10);
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
 public function actionGetViewData()
 {
     $result = array();
     $plan = CWorkPlanManager::getWorkplan(CRequest::getInt("plan_id"));
     $discipline = CCorriculumsManager::getDiscipline($plan->corriculum_discipline_id);
     $query = new CQuery();
     $query->select("term.id as id, term.title as name")->from(TABLE_CORRICULUM_DISCIPLINE_SECTIONS . " as term")->condition("discipline_id=" . $discipline->getId());
     foreach ($query->execute()->getItems() as $item) {
         $result[$item["id"]] = $item["name"];
     }
     return $result;
 }
示例#26
0
 public function save()
 {
     parent::save();
     // берем все старые записи об участии и создаем их заново
     $q = new CQuery();
     $q->remove(TABLE_EVENT_MEMBERSHIP)->condition("event_id=" . $this->getId())->execute();
     // добавляем заново
     foreach ($this->getMembers()->getItems() as $item) {
         $q = new CQuery();
         $q->insert(TABLE_EVENT_MEMBERSHIP, array("resource_id" => $item->getId(), "event_id" => $this->getId(), "calendar_id" => $this->getCalendar()->getId()));
         $q->execute();
     }
 }
 /**
  * Список пособий на портале
  * 
  * @return CArrayList
  */
 public function getManuals()
 {
     if (is_null($this->_manuals)) {
         $this->_manuals = new CArrayList();
         $query = new CQuery();
         $query->select("subj.*, doc.nameFolder as nameFolder, (select count(*) from files f where f.nameFolder = doc.nameFolder) as f_cnt")->from(TABLE_DISCIPLINES . " as subj")->leftJoin(TABLE_LIBRARY_DOCUMENTS . " as doc", "subj.id = doc.subj_id")->condition("doc.user_id=" . $this->id);
         foreach ($query->execute()->getItems() as $item) {
             $subject = new CDiscipline(new CActiveRecord($item));
             $this->_manuals->add($subject->getId(), $subject);
         }
     }
     return $this->_manuals;
 }
 public function actionSearch()
 {
     $res = array();
     $term = CRequest::getString("query");
     /**
      * Поиск по ФИО сотрудника
      */
     $query = new CQuery();
     $query->select("distinct(person.id) as id, person.fio as name")->from(TABLE_PERSON . " as person")->condition("person.fio like '%" . $term . "%'")->limit(0, 5);
     foreach ($query->execute()->getItems() as $item) {
         $res[] = array("field" => "person.id", "value" => $item["id"], "label" => $item["name"], "class" => "CPerson");
     }
     echo json_encode($res);
 }
 public function actionEdit()
 {
     $query = new CQuery();
     $query->select("user.*")->from(TABLE_USERS . " as user")->order("user.FIO asc");
     $users = array();
     foreach ($query->execute()->getItems() as $ar) {
         $user = new CUser(new CActiveRecord($ar));
         $users[$user->getId()] = $user->FIO;
     }
     $quest = CQuestionManager::getQuestion(CRequest::getInt("id"));
     $this->setData("users", $users);
     $this->setData("quest", $quest);
     $this->renderView("__public/_question_add/edit.tpl");
 }
 public function actionSearch()
 {
     $res = array();
     $term = CRequest::getString("query");
     /**
      * Ищем группу по названию
      */
     $query = new CQuery();
     $query->select("st_group.id, st_group.name")->from(TABLE_STUDENT_GROUPS . " as st_group")->condition("LCASE(st_group.name) like '%" . mb_strtolower($term) . "%' and st_group.year_id =" . CUtils::getCurrentYear()->id)->limit(0, 5);
     foreach ($query->execute()->getItems() as $item) {
         $res[] = array("field" => "id", "value" => $item["id"], "label" => $item["name"], "class" => "CStudentGroup");
     }
     echo json_encode($res);
 }