Esempio n. 1
0
 protected function OnInput()
 {
     // C_Base.
     parent::OnInput();
     // Менеджеры.
     $mUsers = M_Users::Instance();
     $mType = M_Type::Instance();
     //проверяем поступившие даные AJAX запроса
     if ($_REQUEST['type'] == null or $_REQUEST['type'] == 'undefined') {
         $this->result = false;
     } else {
         //если данные пришли, присваиваем их переменным класса
         $this->type = $_REQUEST['type'];
         $this->typename = $mType->getname($this->type);
         $this->typepart = $mType->getpart($this->type);
         //добавить ли кнопку удаления
         $doc = $mType->getdoc($_REQUEST['type']);
         $n = count($doc);
         $this->doc = $doc;
         if ($n != 0) {
             $this->del = false;
         } else {
             $this->del = true;
         }
         $this->result = true;
     }
 }
Esempio n. 2
0
 public static function Instance()
 {
     if (self::$instance == null) {
         self::$instance = new M_Type();
     }
     return self::$instance;
 }
Esempio n. 3
0
 protected function OnOutput()
 {
     $mUsers = M_Users::Instance();
     $mType = M_Type::Instance();
     $mDocument = M_Document::Instance();
     $tpl = 'tpl_edittype.php';
     $typeall = $mType->Alltype();
     //все типы вообще
     $vars = array('canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'), 'docid' => 1, 'typeall' => $typeall, '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=editteg'));
     $this->rightmenu = $this->View('tpl_rightmenu.php', $vars2);
     // C_Base.
     parent::OnOutput();
 }
Esempio n. 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;
 }
Esempio n. 5
0
 protected function OnOutput()
 {
     $mUsers = M_Users::Instance();
     $mType = M_Type::Instance();
     $mDocument = M_Document::Instance();
     //$this->result;
     $alltype = $mType->alltype();
     $tpl = '__tpl_newtype.php';
     $vars = array('canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'), 'result' => $this->result, 'alltype' => $alltype);
     $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);
     // C_Base.
     parent::OnReturn();
 }
Esempio n. 6
0
 public function updatetype($id, $type)
 {
     $mType = M_Type::Instance();
     $doc = $this->getdocument($id);
     //информация о документе
     $partold = $mType->getpart($doc[0]['type']);
     //старое название директории
     $partnew = $mType->getpart($type);
     //новое название директории
     if ($partold != $partnew) {
         $falename = $doc[0]['falename'] . $doc[0]['rsh'];
         if (file_exists(DOCUMENT_PART . '/' . $partold . "/" . $falename)) {
             @mkdir(DOCUMENT_PART . '/' . $partnew);
             chmod(DOCUMENT_PART . '/' . $partnew, 0777);
             if (@rename(DOCUMENT_PART . '/' . $partold . "/" . $falename, DOCUMENT_PART . '/' . $partnew . "/" . $falename)) {
                 //после перемещения файла меняем поле в базе
                 $object['type'] = $type;
                 $where = "id = '{$id}'";
                 $this->msql->Update('o_document', $object, $where);
                 //запрашивем через класс msql
                 return true;
             } else {
                 return 'file_not_rename';
                 //ошибка перемещения, разбирайтесь что произошло
             }
             ///if (copy("/tmp/code.c","/usr/local/src/code.c")) {unlink("/tmp/code.c");}//на случай если linux не поймет renome
         } else {
             return 'file_not_exists';
             //если файла не существует, предложить ВСЕ удалить, или загрузить заново
         }
     }
 }
Esempio n. 7
0
 protected function OnOutput()
 {
     $mUsers = M_Users::Instance();
     $mType = M_Type::Instance();
     $alltype = $mType->alltype();
     //массив для выпадающего меню
     $mDocument = M_Document::Instance();
     //$result	= $mDocument->getresult();
     $result = $this->result;
     //$error	= $mDocument->geterror();
     $error = $this->error;
     switch ($result) {
         case 'ok':
             header("Location:index.php?c=viewdoc&id={$this->id}");
             exit;
             break;
         case 'okcopy':
             header("Location:index.php?c=newteg&id={$this->id}");
             //копируется описание с похожего документа
             exit;
             break;
         default:
             $tpl = 'tpl_newdoc.php';
             $vars = array('input' => 'dffd', 'error' => $error, 'date' => $this->date, 'svar' => $this->svar, 'alltype' => $alltype, 'canUseSecretFunctions' => $mUsers->Can('USE_SECRET_FUNCTIONS'));
     }
     // Менеджеры.
     // Генерация содержимого страницы 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'));
     $this->rightmenu = $this->View('tpl_rightmenu.php', $vars2);
     // C_Base.
     parent::OnOutput();
 }
Esempio n. 8
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();
 }
Esempio n. 9
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;
 }