Exemple #1
0
 public static function Instance()
 {
     if (self::$instance == null) {
         self::$instance = new M_Teg();
     }
     return self::$instance;
 }
Exemple #2
0
 protected function OnOutput()
 {
     $mUsers = M_Users::Instance();
     $mTeg = M_Teg::Instance();
     $mDocument = M_Document::Instance();
     $tpl = 'tpl_editteg.php';
     $tegall = $mTeg->allteg();
     //все теги вообще
     $vars = array('canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'), 'docid' => $this->docid, 'tegall' => $tegall, 'result' => $this->id);
     // Менеджеры.
     // Генерация содержимого страницы Welcome.
     $this->content = $this->View($tpl, $vars);
     //собираем и выводим данные для левой колонки
     if ($sid = $mUsers->GetSid()) {
         $listdoc = $mUsers->Get_idoc_user($sid);
         //запрашиваем последние выбранные документы для SID
         $sidresult = true;
     }
     $vars2 = array('var' => $listdoc, 'sidresult' => $sidresult);
     //тестовая строка);
     $this->leftcontent = $this->View('tpl_leftlistdoc.php', $vars2);
     //собираем и выводим данные для правого меню
     $vars2 = array('var' => array('пользователи' => 'index.php?c=listuser', 'Редактировать Типы загружаемых файлов' => 'index.php?c=edittype'));
     $this->rightmenu = $this->View('tpl_rightmenu.php', $vars2);
     // C_Base.
     parent::OnOutput();
 }
Exemple #3
0
 protected function OnOutput()
 {
     $mUsers = M_Users::Instance();
     $mTeg = M_Teg::Instance();
     $tpl = '__tpl_editteg.php';
     $vars = array('canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'), 'result' => $this->result, 'del' => $this->del, 'doc' => $this->doc, 'teg' => $this->tegname);
     $this->content = $this->View($tpl, $vars);
     // C_Base.
     parent::OnReturn();
 }
Exemple #4
0
 protected function OnOutput()
 {
     $mUsers = M_Users::Instance();
     $mTeg = M_Teg::Instance();
     $mSv = M_Sv::Instance();
     $mDocument = M_Document::Instance();
     $mType = M_Type::Instance();
     if ($this->resultget != null) {
         $id = $this->docid;
         $doc = $mDocument->getdocument($id);
         //полная информация о документе
         $docpart = $mType->getpart($doc[0]['type']);
         $doctypename = $mType->getname($doc[0]['type']);
         $typeall = $mType->Alltype();
         //все типы вообще
         $tegdoc = $mSv->getteg($id);
         //все теги касающиеся документа
         $tegall = $mTeg->allteg();
         //все теги вообще
         $error = $mDocument->geterror();
         //$tegid=$teg[0]['id'];
         //передаем информацию на страницу
         $docdate = $doc[0]['date'];
         $tpl = 'tpl_editdoc.php';
         $vars = array('doc' => $doc[0], 'docpart' => $docpart, 'doctypename' => $doctypename, 'docdate' => $docdate, 'tegdoc' => $tegdoc, 'tegall' => $tegall, 'textteg' => $this->textteg, 'error' => $error, 'alltype' => $typeall, 'canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'));
     } else {
         $tpl = 'tpl_welcome.php';
         $vars = array('canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'), 'result' => 'ничего');
     }
     // Менеджеры.
     // Генерация содержимого страницы Welcome.
     $this->content = $this->View($tpl, $vars);
     //собираем и выводим данные для левой колонки
     if ($sid = $mUsers->GetSid()) {
         $listdoc = $mUsers->Get_idoc_user($sid);
         //запрашиваем последние выбранные документы для SID
         $sidresult = true;
     }
     $vars2 = array('var' => $listdoc, 'sidresult' => $sidresult);
     //тестовая строка);
     $this->leftcontent = $this->View('tpl_leftlistdoc.php', $vars2);
     //собираем и выводим данные для правого меню
     $vars2 = array('var' => array('список всех документов' => 'index.php?c=listdoc', 'Загрузка новых документов' => 'index.php?c=newdoc', 'вернутся к просмотру' => "index.php?c=viewdoc&id={$id}", 'редактировать типы загружаемых файлов' => 'index.php?c=edittype', 'Дубликат' => "index.php?c=newdoc&idcopy={$id}"));
     $this->rightmenu = $this->View('tpl_rightmenu.php', $vars2);
     // C_Base.
     parent::OnOutput();
     // echo $this->content;
 }
Exemple #5
0
 protected function OnOutput()
 {
     // Менеджеры.
     $mUsers = M_Users::Instance();
     $mDocument = M_Document::Instance();
     $mTeg = M_Teg::Instance();
     $mType = M_Type::Instance();
     $mSv = M_Sv::Instance();
     $alltype = $mType->alltype();
     //массив для выпадающего меню
     //собираем в массив данные из переменных класса , для подстановки в запрос SQL
     $strseach = $this->strseach;
     //передаем обратно на страницу в неизменном виде, для возможности повторения запроса
     $teg = $this->teg;
     $type = mysql_real_escape_string($this->type . '');
     $tegall = $mTeg->allteg();
     //все теги вообще
     //добавить пустые строки, для выпадающих списков
     array_unshift($tegall, array("id" => "", "name" => ""));
     array_unshift($alltype, array("id" => "", "name" => "", "part" => ""));
     //перебираем все пары полей выбора
     $docsp = array();
     $flag = '';
     $nmas = 0;
     //начальные значения
     for ($i = 1; $i <= $this->colpol; $i++) {
         $strseach[$i] = mysql_real_escape_string($strseach[$i] . '');
         $teg[$i] = mysql_real_escape_string($teg[$i] . '');
         //перебираем пары ТЕГ-Значение, для разных вариантов заполнения, начинаем формировать условие для SQL запроса
         $textsql = '';
         $doclist = array();
         if ($strseach[$i] != NULL and $teg[$i] != NULL) {
             $textsql = "o_sv.text LIKE '%{$strseach[$i]}%' AND o_sv.tegid = '{$teg[$i]}'";
             $tegreturn[$i]['id'] = $teg[$i];
             $tegreturnname = $mTeg->getteg_id($teg[$i]);
             $tegreturn[$i]['name'] = $tegreturnname[0]['name'];
             //текущее название тега для последнего запроса;
         } elseif ($strseach[$i] != NULL and $teg[$i] == NULL) {
             $textsql = "o_sv.text LIKE '%{$strseach[$i]}%'";
         } elseif ($strseach[$i] == NULL and $teg[$i] != NULL) {
             $textsql = "o_sv.tegid = '{$teg[$i]}'";
             $tegreturn[$i]['id'] = $teg[$i];
             $tegreturnname = $mTeg->getteg_id($teg[$i]);
             $tegreturn[$i]['name'] = $tegreturnname[0]['name'];
             //текущее название тега для последнего запроса;
         }
         //если  в поиске участвует еще и тип документа то добавляем в условие и его, или только его, если другие критерии отсутствуют
         if ($type != NULL) {
             if ($textsql == NULL) {
                 if ($flag == NULL) {
                     $textsql = "o_document.type = '{$type}'";
                     $flag = 1;
                 }
             } else {
                 $textsql = "({$textsql}) AND o_document.type = '{$type}'";
                 $flag = 1;
             }
             $typereturn['id'] = $type;
             $typereturn['part'] = $mType->getpart($type);
             $typereturn['name'] = $mType->getname($type);
             //не забываем вернуть информацию о последнем запрашиваем типе документов обратно не страницу
         }
         //получаем из базы массив id документов для каждого из условий, находим их пересечение с предыдущим результатом
         //если условие всего одно - возвращаем результат только для него
         //если условия нет вообще возвращаем "заглушку" возврата по документов по умолчанию
         if ($textsql == NULL) {
             $textsql = "1=3";
             //заглушка
         } else {
             $doclist = $mDocument->getdoc($textsql, $this->date_selection);
             if ($doclist != null) {
                 if ($nmas == 0) {
                     $docsp = $doclist;
                     $nmas = 1;
                 } else {
                     $docsp = array_intersect($docsp, $doclist);
                     //пересечение массивов
                     //$docsp = array_uintersect ($docsp, $doclist);//пересечение массивов
                 }
             } else {
                 $docsp = array();
                 break;
             }
         }
     }
     //получаем всю информацию о выбранных документов
     $doc1 = array();
     foreach ($docsp as $k => $v) {
         $doc1 = $mDocument->getdocument($v);
         $doc[$k] = $doc1[0];
         $doc[$k]['part'] = $mType->getpart($doc1[0]['type']);
     }
     //при отсутсвии результатов можно задать условие
     if ($docsp == null) {
         $this->result = false;
     } else {
         if ($sid = $mUsers->GetSid()) {
             $mUsers->Add_datauser($sid, 'id_doc', $docsp);
             //запоминаем выборку, и в дальнейшем с ней работаем
             $sidresult = true;
         }
     }
     // Генерация содержимого страницы Welcome.
     $vars = array('result' => $this->result, 'doc' => $doc, 'strseach' => $strseach, 'typereturn' => $typereturn, 'tegreturn' => $tegreturn, 'tegall' => $tegall, 'alltype' => $alltype, 'colpol' => $this->colpol, 'date_selection' => $this->date_selection, 'minLength' => MINLENGTH, 'num_year_search' => NUM_YEAR_SEARCH, 'canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'));
     $this->content = $this->View('tpl_listdoc.php', $vars);
     //собираем и выводим данные для левой колонки
     if ($sidresult) {
         $listdoc = $mUsers->Get_idoc_user($sid);
         //запрашиваем последние выбранные документы для SID
     }
     $vars2 = array('var' => $listdoc, 'sidresult' => $sidresult);
     //тестовая строка);
     $this->leftcontent = $this->View('tpl_leftlistdoc.php', $vars2);
     //собираем и выводим данные для правого меню
     $vars2 = array('var' => array('новый документ' => 'index.php?c=newdoc', 'типы загружаемых файлов' => 'index.php?c=edittype'));
     $this->rightmenu = $this->View('tpl_rightmenu.php', $vars2);
     //// C_Base.
     parent::OnOutput();
 }
Exemple #6
0
 protected function OnOutput()
 {
     $mUsers = M_Users::Instance();
     $mTeg = M_Teg::Instance();
     $mSv = M_Sv::Instance();
     $mDocument = M_Document::Instance();
     $mType = M_Type::Instance();
     if ($this->resultget != null) {
         $id = $this->docid;
         $doc = $mDocument->getdocument($id);
         //полная информация о документе
         $docpart = $mType->getpart($doc[0]['type']);
         $doctypename = $mType->getname($doc[0]['type']);
         $docsizefile = $doc[0]['sizefile'];
         $tegdoc = $mSv->getteg($id);
         //все теги касающиеся документа
         $idsvteg = '';
         $name = array();
         foreach ($tegdoc as $key => $value) {
             $name[$value['idsv']] = $mSv->alltextteg($value['idteg'], LIMIT_LIST_TEG);
             //часто употребляемые описания для данного тега
         }
         $tegall = $mTeg->allteg();
         //все теги вообще
         //$textall = $mSv->alltext();//часто употребляемые описания
         //$tegid=$teg[0]['id'];
         //передаем информацию на страницу
         $docdate = $doc[0]['date'];
         $tpl = 'tpl_newteg.php';
         $vars = array('doc' => $doc[0], 'docpart' => $docpart, 'doctypename' => $doctypename, 'tegdoc' => $tegdoc, 'tegall' => $tegall, 'name' => $name, 'num_new_teg' => NUM_NEW_TEG, 'minLength' => MINLENGTH, 'textteg' => $this->textteg, 'error' => "{$id}", 'canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'));
     } else {
         $tpl = 'tpl_welcome.php';
         $vars = array('canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'), 'result' => 'ничего');
     }
     // Менеджеры.
     // Генерация содержимого страницы Welcome.
     $this->content = $this->View($tpl, $vars);
     //собираем и выводим данные для левой колонки
     if ($sid = $mUsers->GetSid()) {
         $listdoc = $mUsers->Get_idoc_user($sid);
         //запрашиваем последние выбранные документы для SID
         $sidresult = true;
     }
     $vars2 = array('var' => $listdoc, 'sidresult' => $sidresult);
     //тестовая строка);
     $this->leftcontent = $this->View('tpl_leftlistdoc.php', $vars2);
     //собираем и выводим данные для правого меню
     $vars2 = array('var' => array('список всех документов' => 'index.php?c=listdoc', 'Новый документ' => 'index.php?c=newdoc', 'вернутся к просмотру' => "index.php?c=viewdoc&id={$id}", 'редактировать документ' => "index.php?c=editdoc&id={$id}", 'Дубликат' => "index.php?c=newdoc&idcopy={$id}"));
     $this->rightmenu = $this->View('tpl_rightmenu.php', $vars2);
     // C_Base.
     parent::OnOutput();
     //echo $this->content;
 }