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; } }
public static function Instance() { if (self::$instance == null) { self::$instance = new M_Type(); } return self::$instance; }
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(); }
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; }
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(); }
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'; //если файла не существует, предложить ВСЕ удалить, или загрузить заново } } }
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(); }
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(); }
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; }