root
8 years ago
6 changed files with 954 additions and 710 deletions
@ -1,380 +1,580 @@ |
|||||||
<?php |
<?php |
||||||
class editdoc |
|
||||||
{ |
class Editdoc |
||||||
|
{ |
||||||
/** |
/** |
||||||
* Метод, предназначенный для получения структуры документа из БД |
* Метод, предназначенный для получения структуры документа из БД |
||||||
* |
* |
||||||
* @param int $document_id идентификатор Документа |
* @param int $document_id идентификатор Документа |
||||||
* return - возвращает документ положенный в структуру .... |
* return - возвращает документ положенный в структуру .... |
||||||
**/ |
**/ |
||||||
public static function documentGet($document_id,$rubric_id=0){ |
public static function documentGet($document_id, $rubric_id = 0) |
||||||
global $AVE_DB; |
{ |
||||||
//var_dump($document_id); |
global $AVE_DB; |
||||||
$document_id=(int)$document_id; |
|
||||||
$rubric_id=(int)$rubric_id; |
$document_id = (int)$document_id; |
||||||
if($document_id==0&&$rubric_id==0)return false; |
$rubric_id = (int)$rubric_id; |
||||||
$sql="SELECT * FROM " . PREFIX . "_documents WHERE Id='$document_id' and document_author_id=".$_SESSION['user_id']." LIMIT 1"; |
|
||||||
$rows=$AVE_DB->Query($sql); |
if ($document_id == 0 && $rubric_id == 0) |
||||||
if($rows->NumRows()>0)$rubric_id=0; |
return false; |
||||||
if($rubric_id>0)$rows=$AVE_DB->Query("SELECT * FROM " . PREFIX . "_documents LIMIT 1"); |
|
||||||
while ($row = $rows->FetchAssocArray()) { |
$sql = " |
||||||
$header=$row; |
|
||||||
} |
|
||||||
if($rubric_id>0)foreach($header as $k=>&$v)$v=""; |
|
||||||
$felds=array(); |
|
||||||
$feldsType=array(); |
|
||||||
if(!$rubric_id>0){ |
|
||||||
$rows=$AVE_DB->Query(" |
|
||||||
SELECT |
|
||||||
doc.Id AS df_id, |
|
||||||
rub.*, |
|
||||||
rubric_field_default, |
|
||||||
doc.field_value |
|
||||||
FROM " . PREFIX . "_rubric_fields AS rub |
|
||||||
LEFT JOIN " . PREFIX . "_document_fields AS doc ON rubric_field_id = rub.Id |
|
||||||
WHERE document_id = '" . $document_id . "' AND rubric_id |
|
||||||
ORDER BY rubric_field_position ASC |
|
||||||
"); |
|
||||||
}else{ |
|
||||||
$rows=$AVE_DB->Query(" |
|
||||||
SELECT |
SELECT |
||||||
0 as df_id, |
* |
||||||
rub.*, |
FROM |
||||||
rubric_field_default, |
" . PREFIX . "_documents |
||||||
rubric_field_default as field_value |
WHERE |
||||||
FROM " . PREFIX . "_rubric_fields AS rub |
Id = '" . $document_id . "' |
||||||
WHERE rub.rubric_id = '" . $rubric_id . "' |
AND |
||||||
ORDER BY rubric_field_position ASC |
document_author_id = " . $_SESSION['user_id'] . " |
||||||
"); |
LIMIT 1 |
||||||
} |
"; |
||||||
while ($row = $rows->FetchAssocArray()) { |
|
||||||
$felds[$row['Id']]=$row['df_id'] ? $row['field_value'] : $row['rubric_field_default']; |
$rows = $AVE_DB->Query($sql); |
||||||
$feldsType[$row['Id']]['type']=$row['rubric_field_type']; |
|
||||||
$feldsType[$row['Id']]['title']=$row['rubric_field_title']; |
if ($rows->NumRows() > 0) |
||||||
|
{ |
||||||
|
$rubric_id = 0; |
||||||
} |
} |
||||||
$result['header']=$header; |
|
||||||
$result['body']=$felds; |
|
||||||
$result['feld_type']=$feldsType; |
|
||||||
//echo "<pre>"; |
|
||||||
//var_dump($result); |
|
||||||
//echo "</pre>"; |
|
||||||
return $result; |
|
||||||
} |
|
||||||
|
|
||||||
public static function EditDocList($tpl_dir) |
|
||||||
{ |
|
||||||
global $AVE_DB, $AVE_Template; |
|
||||||
|
|
||||||
$imports = array(); |
if ($rubric_id > 0) |
||||||
|
{ |
||||||
|
$rows = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_documents LIMIT 1"); |
||||||
|
} |
||||||
|
|
||||||
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module_editdoc"); |
while ($row = $rows->FetchAssocArray()) |
||||||
|
{ |
||||||
|
$header = $row; |
||||||
|
} |
||||||
|
|
||||||
while ($result = $sql->FetchRow()) |
if ($rubric_id > 0) |
||||||
{ |
{ |
||||||
array_push($imports, $result); |
foreach($header as $k => &$v) |
||||||
} |
{ |
||||||
|
$v = ''; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
$rubs = array(); |
$felds = array(); |
||||||
|
|
||||||
|
$feldsType = array(); |
||||||
|
|
||||||
|
if(! $rubric_id > 0) |
||||||
|
{ |
||||||
|
$rows = $AVE_DB->Query(" |
||||||
|
SELECT |
||||||
|
doc.Id AS df_id, |
||||||
|
rub.*, |
||||||
|
rubric_field_default, |
||||||
|
doc.field_value |
||||||
|
FROM |
||||||
|
" . PREFIX . "_rubric_fields AS rub |
||||||
|
LEFT JOIN |
||||||
|
" . PREFIX . "_document_fields AS doc |
||||||
|
ON rubric_field_id = rub.Id |
||||||
|
WHERE |
||||||
|
document_id = '" . $document_id . "' |
||||||
|
AND rubric_id |
||||||
|
ORDER BY |
||||||
|
rubric_field_position ASC |
||||||
|
"); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$rows = $AVE_DB->Query(" |
||||||
|
SELECT |
||||||
|
0 as df_id, |
||||||
|
rub.*, |
||||||
|
rubric_field_default, |
||||||
|
rubric_field_default as field_value |
||||||
|
FROM |
||||||
|
" . PREFIX . "_rubric_fields AS rub |
||||||
|
WHERE |
||||||
|
rub.rubric_id = '" . $rubric_id . "' |
||||||
|
ORDER BY |
||||||
|
rubric_field_position ASC |
||||||
|
"); |
||||||
|
} |
||||||
|
|
||||||
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_rubrics"); |
while ($row = $rows->FetchAssocArray()) |
||||||
|
{ |
||||||
|
$felds[$row['Id']]=$row['df_id'] |
||||||
|
? $row['field_value'] |
||||||
|
: $row['rubric_field_default']; |
||||||
|
|
||||||
while ($result = $sql->FetchRow()) |
$feldsType[$row['Id']]['type']=$row['rubric_field_type']; |
||||||
{ |
|
||||||
array_push($rubs, $result); |
|
||||||
} |
|
||||||
|
|
||||||
$AVE_Template->assign('editdocs', $imports); |
$feldsType[$row['Id']]['title']=$row['rubric_field_title']; |
||||||
$AVE_Template->assign('rubs', $rubs); |
} |
||||||
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_list.tpl')); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
$result['header'] = $header; |
||||||
* Добавление нового |
$result['body'] = $felds; |
||||||
* |
$result['feld_type'] = $feldsType; |
||||||
* @param int $import_id идентификатор |
|
||||||
* @param string $tpl_dir - путь к папке с шаблонами модуля |
|
||||||
* |
|
||||||
*/ |
|
||||||
public static function EditDocNew($tpl_dir) |
|
||||||
{ |
|
||||||
global $AVE_DB, $AVE_Template; |
|
||||||
|
|
||||||
$rubs = array(); |
// Debug::_echo($result, true); |
||||||
|
|
||||||
|
return $result; |
||||||
|
} |
||||||
|
|
||||||
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_rubrics"); |
|
||||||
|
|
||||||
while ($result = $sql->FetchRow()) |
public static function EditDocList($tpl_dir) |
||||||
{ |
{ |
||||||
array_push($rubs, $result); |
global $AVE_DB, $AVE_Template; |
||||||
} |
|
||||||
|
|
||||||
$AVE_Template->assign('rubs',$rubs); |
$imports = array(); |
||||||
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_edit.tpl')); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module_editdoc"); |
||||||
* Редактирование |
|
||||||
* |
|
||||||
* @param int $import_id идентификатор |
|
||||||
* @param string $tpl_dir - путь к папке с шаблонами модуля |
|
||||||
* |
|
||||||
*/ |
|
||||||
public static function EditDocEdit($import_id, $tpl_dir) |
|
||||||
{ |
|
||||||
global $AVE_DB, $AVE_Template,$AVE_Document; |
|
||||||
|
|
||||||
if (is_numeric($import_id)) |
while ($result = $sql->FetchRow()) |
||||||
{ |
{ |
||||||
$sql = $AVE_DB->Query(" |
array_push($imports, $result); |
||||||
SELECT * |
} |
||||||
FROM " . PREFIX . "_module_editdoc |
|
||||||
WHERE id = '" . $import_id . "' |
$rubs = array(); |
||||||
"); |
|
||||||
|
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_rubrics"); |
||||||
|
|
||||||
$row = $sql->FetchAssocArray(); |
while ($result = $sql->FetchRow()) |
||||||
|
{ |
||||||
|
array_push($rubs, $result); |
||||||
|
} |
||||||
|
|
||||||
|
$AVE_Template->assign('editdocs', $imports); |
||||||
|
$AVE_Template->assign('rubs', $rubs); |
||||||
|
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_list.tpl')); |
||||||
} |
} |
||||||
else |
|
||||||
|
|
||||||
|
/** |
||||||
|
* Добавление нового |
||||||
|
* |
||||||
|
* @param int $import_id идентификатор |
||||||
|
* @param string $tpl_dir - путь к папке с шаблонами модуля |
||||||
|
* |
||||||
|
*/ |
||||||
|
public static function EditDocNew($tpl_dir) |
||||||
{ |
{ |
||||||
$row['editdoc_name'] = ''; |
global $AVE_DB, $AVE_Template; |
||||||
$row['editdoc_fill_filters']=''; |
|
||||||
|
$rubs = array(); |
||||||
|
|
||||||
|
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_rubrics"); |
||||||
|
|
||||||
|
while ($result = $sql->FetchRow()) |
||||||
|
{ |
||||||
|
array_push($rubs, $result); |
||||||
|
} |
||||||
|
|
||||||
|
$AVE_Template->assign('rubs',$rubs); |
||||||
|
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_edit.tpl')); |
||||||
} |
} |
||||||
|
|
||||||
$row['editdoc_fill_filters']=unserialize(base64_decode($row['editdoc_fill_filters'])); |
|
||||||
$rubs = array(); |
/** |
||||||
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_rubrics"); |
* Редактирование |
||||||
while ($result = $sql->FetchRow()) |
* |
||||||
|
* @param int $import_id идентификатор |
||||||
|
* @param string $tpl_dir - путь к папке с шаблонами модуля |
||||||
|
* |
||||||
|
*/ |
||||||
|
public static function EditDocEdit($import_id, $tpl_dir) |
||||||
{ |
{ |
||||||
array_push($rubs, $result); |
global $AVE_DB, $AVE_Template,$AVE_Document; |
||||||
} |
|
||||||
|
if (is_numeric($import_id)) |
||||||
|
{ |
||||||
|
$sql = $AVE_DB->Query(" |
||||||
|
SELECT |
||||||
|
* |
||||||
|
FROM |
||||||
|
" . PREFIX . "_module_editdoc |
||||||
|
WHERE |
||||||
|
id = '" . $import_id . "' |
||||||
|
"); |
||||||
|
|
||||||
|
$row = $sql->FetchAssocArray(); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$row['editdoc_name'] = ''; |
||||||
|
$row['editdoc_fill_filters'] = ''; |
||||||
|
} |
||||||
|
|
||||||
$AVE_Template->assign('rubs',$rubs); |
$template = false; |
||||||
$data=editdoc::getRubricFields($row['editdoc_rub'],$row['editdoc_fill_filters']); |
|
||||||
//$data=editdoc::documentGet(null,$import_id); |
|
||||||
if(!$row['editdoc_template']){ |
|
||||||
|
|
||||||
$tmpl="<form method=\"post\">\r\n |
$row['editdoc_fill_filters'] = unserialize(base64_decode($row['editdoc_fill_filters'])); |
||||||
<input type=\"hidden\" name=\"editdoc_action\" value=\"$import_id\">\r\n |
|
||||||
<input type=\"hidden\" name=\"editdoc_doc_id\" value=\"<?php echo @\$_REQUEST['editdoc_doc_id']?>\">\r\n
|
|
||||||
"; |
|
||||||
|
|
||||||
foreach($data['header'] as $k => $v) |
$rubs = array(); |
||||||
$tmpl.=" <div id=\"edit_doc_header_$k\">[header:$k]</div>\r\n"; |
|
||||||
|
|
||||||
foreach($data['body'] as $k => $v) |
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_rubrics"); |
||||||
$tmpl.=" <div id=\"edit_doc_body_$k\"><label>".$v[0]."</label>[body:$k]</div>\r\n"; |
|
||||||
|
|
||||||
$tmpl.='<input type="submit" value="Сохранить"></form>'; |
while ($result = $sql->FetchRow()) |
||||||
$row['editdoc_template']=$tmpl; |
{ |
||||||
} |
array_push($rubs, $result); |
||||||
|
} |
||||||
|
|
||||||
$AVE_Template->assign('data',$data); |
$AVE_Template->assign('rubs',$rubs); |
||||||
unset($row['editdoc_fill_filters']); |
|
||||||
$AVE_Template->assign($row); |
|
||||||
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_edit.tpl')); |
|
||||||
} |
|
||||||
|
|
||||||
|
$data = editdoc::getRubricFields($row['editdoc_rub'],$row['editdoc_fill_filters']); |
||||||
|
|
||||||
/** |
//$data = editdoc::documentGet(null, $import_id); |
||||||
* Удаление |
|
||||||
* |
|
||||||
* @param int $import_id идентификатор |
|
||||||
*/ |
|
||||||
public static function EditDocDelete($import_id) |
|
||||||
{ |
|
||||||
global $AVE_DB; |
|
||||||
|
|
||||||
if (is_numeric($import_id)) |
if($row['editdoc_template'] == '') |
||||||
{ |
{ |
||||||
$AVE_DB->Query(" |
$tmpl = "<form method=\"post\">\r\n\t<input type=\"hidden\" name=\"editdoc_action\" value=\"$import_id\">\r\n\t<input type=\"hidden\" name=\"editdoc_doc_id\" value=\"<?php echo (isset(\$_REQUEST['editdoc_doc_id']) ? \$_REQUEST['editdoc_doc_id'] : ''); ?>\">\r\n\n";
|
||||||
DELETE |
|
||||||
FROM " . PREFIX . "_module_editdoc |
|
||||||
WHERE id = '" . $import_id . "' |
|
||||||
"); |
|
||||||
} |
|
||||||
|
|
||||||
header('Location:index.php?do=modules&action=modedit&mod=editdoc&moduleaction=1&cp=' . SESSION); |
foreach($data['header'] as $k => $v) |
||||||
} |
$tmpl .= "\t<div id=\"edit_doc_header_$k\">\r\n\t\t[header:$k]\r\n\t</div>\r\n"; |
||||||
|
|
||||||
|
$tmpl .= "\r\n"; |
||||||
/** |
|
||||||
* Получение полей Документа |
foreach($data['body'] as $k => $v) |
||||||
* |
$tmpl .= "\t<div id=\"edit_doc_body_$k\">\r\n\t\t<label for=\"field_$k\">[title:$k]</label>\r\n\t\t[body:$k]\r\n\t</div>\r\n"; |
||||||
* @param inc $id - идентификатор рубрики |
|
||||||
* @param array $array - массив со значениями |
$tmpl .= "\r\n"; |
||||||
*/ |
|
||||||
public static function getRubricFields($id,$array) |
$tmpl .= "\t<input type=\"submit\" value=\"Сохранить\">\r\n</form>"; |
||||||
{ |
|
||||||
global $AVE_DB; |
$row['editdoc_template'] = $tmpl; |
||||||
$res=array(); |
} |
||||||
if(!is_array($array))$array=Array(); |
else |
||||||
$res=Array(); |
{ |
||||||
$res['header']=array(); |
$template = true; |
||||||
$res['header']['document_parent'][0]=($array['header']['document_parent'] ? $array['header']['document_parent'] : "<?\r\n return '0';\r\n?>");
|
} |
||||||
$res['header']['document_title'][0]=($array['header']['document_title'] ? $array['header']['document_title'] : "<?\r\n return \$_REQUEST['document_title'] ? \$_REQUEST['document_title'] : \$data['header']['document_title'] ;\r\n?>");
|
|
||||||
$res['header']['document_alias'][0]=($array['header']['document_alias'] ? $array['header']['document_alias'] : "<?\r\n return '';\r\n?>");
|
$AVE_Template->assign('template', $template); |
||||||
$res['header']['document_published'][0]=($array['header']['document_published'] ? $array['header']['document_published'] : "<?\r\n \$res= \$_REQUEST['document_published'] ? \$_REQUEST['document_published'] : \$data['header']['document_published'];\r\n return (\$res ? \$res : date('d.m.Y H:i'));\r\n?>");
|
|
||||||
$res['header']['document_expire'][0]=($array['header']['document_expire'] ? $array['header']['document_expire'] : "<?\r\n \$res= \$_REQUEST['document_expire'] ? \$_REQUEST['document_expire'] : \$data['header']['document_expire'];\r\n return (\$res ? \$res : date('d.m.Y H:i',strtotime('+20 years')));\r\n?>");
|
$AVE_Template->assign('data', $data); |
||||||
$res['header']['document_meta_keywords'][0]=($array['header']['document_meta_keywords'] ? $array['header']['document_meta_keywords'] : "<?\r\n return '';\r\n?>");
|
|
||||||
$res['header']['document_meta_description'][0]=($array['header']['document_meta_description'] ? $array['header']['document_meta_description'] : "<?\r\n return '';\r\n?>");
|
unset($row['editdoc_fill_filters']); |
||||||
$res['header']['document_in_search'][0]=($array['header']['document_in_search'] ? $array['header']['document_in_search'] : "<?\r\n return '0';\r\n?>");
|
|
||||||
$res['header']['document_meta_robots'][0]=($array['header']['document_meta_robots'] ? $array['header']['document_meta_robots'] : "<?\r\n return 'index,follow';\r\n?>");
|
$AVE_Template->assign($row); |
||||||
$res['header']['document_status'][0]=($array['header']['document_status'] ? $array['header']['document_status'] : "<?\r\n return '0';\r\n?>");
|
|
||||||
$res['header']['document_deleted'][0]=($array['header']['document_deleted'] ? $array['header']['document_deleted']: "<?\r\n return '0';\r\n?>");
|
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_edit.tpl')); |
||||||
$res['header']['document_count_print'][0]=($array['header']['document_count_print'] ? $array['header']['document_count_print'] : "<?\r\n return '0';\r\n?>");
|
|
||||||
$res['header']['document_count_view'][0]=($array['header']['document_count_view'] ? $array['header']['document_count_view'] : "<?\r\n return '0';\r\n?>");
|
|
||||||
$res['header']['document_linked_navi_id'][0]=($array['header']['document_linked_navi_id'] ? $array['header']['document_linked_navi_id'] : "<?\r\n return '0';\r \n?>");
|
|
||||||
foreach($res['header'] as $k=>$v)$res['header'][$k][1]=(isset($array['template'][$k]) ? $array['template'][$k] :''); |
|
||||||
$sql = $AVE_DB->Query("select * from ".PREFIX."_rubric_fields where rubric_id=".$id); |
|
||||||
while ($result = $sql->FetchAssocArray()) |
|
||||||
{ |
|
||||||
$func='get_field_'.$result['rubric_field_type']; |
|
||||||
if(!is_callable($func)) $func='get_field_default'; |
|
||||||
$val='<?php echo htmlspecialchars(stripslashes($_REQUEST["feld"]['.$result['Id'].'] ? ($_REQUEST["feld"]['.$result['Id'].']) : $data["body"]['.$result['Id'].']));?>';
|
|
||||||
$field=$func("{{ХХХХ}}",'edit',$result['Id'],'',0,$x,0,0,$result['rubric_field_default']); |
|
||||||
$field=str_ireplace('{{ХХХХ}}',$val,$field); |
|
||||||
$a=array( |
|
||||||
'0'=>$result['rubric_field_title'], |
|
||||||
'1'=>( |
|
||||||
$array['body'][$result['Id']] ? |
|
||||||
$array['body'][$result['Id']]: |
|
||||||
"<?\r\n return (isset(\$_REQUEST['feld'][".$result['Id']."]) ? \$_REQUEST['feld'][".$result['Id']."] : \$data['body'][".$result['Id']."]);\r\n?>"
|
|
||||||
), |
|
||||||
'2'=>(isset($array['template'][$result['Id']]) ? $array['template'][$result['Id']] : $field) |
|
||||||
); |
|
||||||
$res['body'][$result['Id']]=$a; |
|
||||||
} |
} |
||||||
return $res; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Сохранение импорта |
|
||||||
* |
|
||||||
* @param int $import_id идентификатор импорта |
|
||||||
*/ |
|
||||||
public static function EditDocSave($import_id = null) |
|
||||||
{ |
|
||||||
global $AVE_DB; |
|
||||||
|
|
||||||
function stripslashes_deep($value) |
/** |
||||||
|
* Удаление |
||||||
|
* |
||||||
|
* @param int $import_id идентификатор |
||||||
|
*/ |
||||||
|
public static function EditDocDelete($import_id) |
||||||
{ |
{ |
||||||
$value = is_array($value) ? |
global $AVE_DB; |
||||||
array_map('stripslashes_deep', $value) : |
|
||||||
stripslashes($value); |
if (is_numeric($import_id)) |
||||||
|
{ |
||||||
|
$AVE_DB->Query(" |
||||||
|
DELETE |
||||||
|
FROM " . PREFIX . "_module_editdoc |
||||||
|
WHERE id = '" . $import_id . "' |
||||||
|
"); |
||||||
|
} |
||||||
|
|
||||||
return $value; |
header('Location:index.php?do=modules&action=modedit&mod=editdoc&moduleaction=1&cp=' . SESSION); |
||||||
} |
} |
||||||
|
|
||||||
$v=base64_encode(serialize(stripslashes_deep($_REQUEST['document']))); |
|
||||||
|
|
||||||
if (is_numeric($import_id)) |
/** |
||||||
|
* Получение полей Документа |
||||||
|
* |
||||||
|
* @param inc $id - идентификатор рубрики |
||||||
|
* @param array $array - массив со значениями |
||||||
|
*/ |
||||||
|
public static function getRubricFields($id,$array) |
||||||
{ |
{ |
||||||
$sql=" |
global $AVE_DB; |
||||||
UPDATE " . PREFIX . "_module_editdoc |
|
||||||
SET |
$res = array(); |
||||||
`editdoc_name` = '" . ($_REQUEST['editdoc_name']) . "', |
|
||||||
".($_REQUEST['editdoc_rub']> '' ? "`editdoc_rub` = '" . ($_REQUEST['editdoc_rub']) . "'," : "")." |
if(! is_array($array)) |
||||||
`editdoc_lastchange` = '" . ($_REQUEST['editdoc_lastchange']) . "', |
$array = array(); |
||||||
`editdoc_fill_filters` = '" . $v . "', |
|
||||||
`editdoc_template` = '" . $_REQUEST['editdoc_template'] . "', |
$res['header'] = array(); |
||||||
`editdoc_afteredit` = '" . (($_REQUEST['editdoc_afteredit'] ? $_REQUEST['editdoc_afteredit'] : addslashes("<?php
|
|
||||||
//header('Location: /'.rewrite_link('index.php?id='.\$GLOBALS['mod_editdoc'][".$import_id."])); |
$res['header']['document_parent'][0]= ($array['header']['document_parent'] |
||||||
//exit(); |
? $array['header']['document_parent'] |
||||||
?>"))) . "' |
: "<?\r\n\treturn '0';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_title'][0] = ($array['header']['document_title'] |
||||||
|
? $array['header']['document_title'] |
||||||
|
: "<?\r\n\treturn \$_REQUEST['document_title']\r\n\t\t? \$_REQUEST['document_title']\r\n\t\t: \$data['header']['document_title'] ;\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_alias'][0] = ($array['header']['document_alias'] |
||||||
|
? $array['header']['document_alias'] |
||||||
|
: "<?\r\n\treturn '';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_published'][0] = ($array['header']['document_published'] |
||||||
|
? $array['header']['document_published'] |
||||||
|
: "<?\r\n\t\$res = \$_REQUEST['document_published']\r\n\t\t? \$_REQUEST['document_published']\r\n\t\t: \$data['header']['document_published'];\r\n\n\treturn (\$res ? \$res : date('d.m.Y H:i'));\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_expire'][0] = ($array['header']['document_expire'] |
||||||
|
? $array['header']['document_expire'] |
||||||
|
: "<?\r\n\t\$res = \$_REQUEST['document_expire']\r\n\t\t? \$_REQUEST['document_expire']\r\n\t\t: \$data['header']['document_expire'];\r\n\n\treturn (\$res ? \$res : date('d.m.Y H:i',strtotime('+20 years')));\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_meta_keywords'][0] = ($array['header']['document_meta_keywords'] |
||||||
|
? $array['header']['document_meta_keywords'] |
||||||
|
: "<?\r\n\treturn '';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_meta_description'][0] = ($array['header']['document_meta_description'] |
||||||
|
? $array['header']['document_meta_description'] |
||||||
|
: "<?\r\n\treturn '';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_in_search'][0] = ($array['header']['document_in_search'] |
||||||
|
? $array['header']['document_in_search'] |
||||||
|
: "<?\r\n\treturn '0';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_meta_robots'][0] = ($array['header']['document_meta_robots'] |
||||||
|
? $array['header']['document_meta_robots'] |
||||||
|
: "<?\r\n\treturn 'index,follow';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_status'][0]=($array['header']['document_status'] |
||||||
|
? $array['header']['document_status'] |
||||||
|
: "<?\r\n\treturn '0';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_deleted'][0]=($array['header']['document_deleted'] |
||||||
|
? $array['header']['document_deleted'] |
||||||
|
: "<?\r\n\treturn '0';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_count_print'][0]=($array['header']['document_count_print'] |
||||||
|
? $array['header']['document_count_print'] |
||||||
|
: "<?\r\n\treturn '0';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_count_view'][0] = ($array['header']['document_count_view'] |
||||||
|
? $array['header']['document_count_view'] |
||||||
|
: "<?\r\n\treturn '0';\r\n?>");
|
||||||
|
|
||||||
|
$res['header']['document_linked_navi_id'][0] = ($array['header']['document_linked_navi_id'] |
||||||
|
? $array['header']['document_linked_navi_id'] |
||||||
|
: "<?\r\n\treturn '0';\r\n?>");
|
||||||
|
|
||||||
|
foreach($res['header'] as $k => $v) |
||||||
|
$res['header'][$k][1]=(isset($array['template'][$k]) |
||||||
|
? $array['template'][$k] |
||||||
|
:''); |
||||||
|
|
||||||
|
$sql = $AVE_DB->Query(" |
||||||
|
SELECT |
||||||
|
* |
||||||
|
FROM |
||||||
|
".PREFIX."_rubric_fields |
||||||
WHERE |
WHERE |
||||||
id = '" . $import_id . "' |
rubric_id = ".$id |
||||||
"; |
); |
||||||
|
|
||||||
|
while ($result = $sql->FetchAssocArray()) |
||||||
|
{ |
||||||
|
$field = "<?\r\n\t\$field_" . $result['Id'] . " = htmlspecialchars(stripslashes(isset(\$_REQUEST['feld'][" . $result['Id'] . "])\r\n\t\t? \$_REQUEST['feld'][" . $result['Id'] . "]\r\n\t\t: \$data['body'][" . $result['Id'] . "])\r\n\t);\r\n?>\r\n";
|
||||||
|
$field .= '<input type="text" id="field_' . $result['Id'] . '" placeholder="[title:' . $result['Id'] . ']" name="feld['.$result['Id'].']" value="<?= $field_' . $result['Id'] . '; ?>">';
|
||||||
|
|
||||||
|
$a = array( |
||||||
|
'0' => $result['rubric_field_title'], |
||||||
|
'1' => ($array['body'][$result['Id']] |
||||||
|
? $array['body'][$result['Id']] |
||||||
|
: "<?\r\n\treturn (isset(\$_REQUEST['feld'][".$result['Id']."])\r\n\t\t? \$_REQUEST['feld'][".$result['Id']."]\r\n\t\t: \$data['body'][".$result['Id']."]);\r\n?>"
|
||||||
|
), |
||||||
|
'2' => (isset($array['template'][$result['Id']]) |
||||||
|
? $array['template'][$result['Id']] |
||||||
|
: $field) |
||||||
|
); |
||||||
|
|
||||||
|
$res['body'][$result['Id']] = $a; |
||||||
|
} |
||||||
|
|
||||||
|
return $res; |
||||||
} |
} |
||||||
else |
|
||||||
|
|
||||||
|
/** |
||||||
|
* Сохранение импорта |
||||||
|
* |
||||||
|
* @param int $import_id идентификатор импорта |
||||||
|
*/ |
||||||
|
public static function EditDocSave($import_id = null) |
||||||
{ |
{ |
||||||
$sql=" |
global $AVE_DB; |
||||||
INSERT |
|
||||||
INTO " . PREFIX . "_module_editdoc |
function stripslashes_deep($value) |
||||||
SET |
{ |
||||||
id = '', |
$value = is_array($value) |
||||||
`editdoc_name` = '" . ($_REQUEST['editdoc_name']) . "', |
? array_map('stripslashes_deep', $value) |
||||||
".($_REQUEST['editdoc_rub']> '' ? "`editdoc_rub` = '" . ($_REQUEST['editdoc_rub']) . "'," : "")." |
: stripslashes($value); |
||||||
`editdoc_lastchange` = '" . ($_REQUEST['editdoc_lastchange']) . "', |
|
||||||
`editdoc_fill_filters` = '" . $v . "', |
return $value; |
||||||
`editdoc_template` = '" . ($_REQUEST['editdoc_template']) . "', |
} |
||||||
`editdoc_afteredit` = '" . ($_REQUEST['editdoc_afteredit']) . "' |
|
||||||
"; |
$template = base64_encode(serialize(stripslashes_deep($_REQUEST['document']))); |
||||||
|
|
||||||
|
if (is_numeric($import_id)) |
||||||
|
{ |
||||||
|
$sql=" |
||||||
|
UPDATE |
||||||
|
" . PREFIX . "_module_editdoc |
||||||
|
SET |
||||||
|
editdoc_name = '" . $_REQUEST['editdoc_name'] . "', |
||||||
|
editdoc_last_change = '" . time() . "', |
||||||
|
editdoc_fill_filters = '" . $template . "', |
||||||
|
editdoc_template = '" . $_REQUEST['editdoc_template'] . "', |
||||||
|
editdoc_use_revisions = '" . ($_REQUEST['editdoc_use_revisions'] ? $_REQUEST['editdoc_use_revisions'] : 0) . "', |
||||||
|
editdoc_use_rubric_code = '" . ($_REQUEST['editdoc_use_rubric_code'] ? $_REQUEST['editdoc_use_rubric_code'] : 0) . "', |
||||||
|
editdoc_use_log_save = '" . ($_REQUEST['editdoc_use_log_save'] ? $_REQUEST['editdoc_use_log_save'] : 0) . "', |
||||||
|
editdoc_before_edit = '" . $_REQUEST['editdoc_before_edit'] . "', |
||||||
|
editdoc_after_edit = '" . $_REQUEST['editdoc_after_edit'] . "' |
||||||
|
WHERE |
||||||
|
id = '" . $import_id . "' |
||||||
|
"; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
|
||||||
|
$editdoc_before_edit = "<?\r\n\t//Debug::_echo(\$_REQUEST, true);\r\n?>";
|
||||||
|
$editdoc_after_edit = "<?\r\n\t//header('Location: /' . rewrite_link('index.php?id=' . \$GLOBALS['mod_editdoc'][\$import_id]));\r\n\t//exit();\r\n?>";
|
||||||
|
|
||||||
|
$sql = " |
||||||
|
INSERT INTO |
||||||
|
" . PREFIX . "_module_editdoc |
||||||
|
SET |
||||||
|
id = '', |
||||||
|
editdoc_name = '" . $_REQUEST['editdoc_name'] . "', |
||||||
|
editdoc_rub = '" . $_REQUEST['editdoc_rub'] . "', |
||||||
|
editdoc_last_change = '" . time() . "', |
||||||
|
editdoc_fill_filters = '" . $template . "', |
||||||
|
editdoc_template = '" . $_REQUEST['editdoc_template'] . "', |
||||||
|
editdoc_before_edit = '" . addslashes($editdoc_before_edit) . "', |
||||||
|
editdoc_after_edit = '" . addslashes($editdoc_after_edit) . "' |
||||||
|
"; |
||||||
|
|
||||||
|
$AVE_DB->Query($sql); |
||||||
|
|
||||||
|
$editor_id = $AVE_DB->InsertId(); |
||||||
|
|
||||||
|
header('Location:index.php?do=modules&action=modedit&mod=editdoc&moduleaction=edit&id=' . $editor_id . '&cp=' . SESSION); |
||||||
|
exit; |
||||||
|
} |
||||||
|
|
||||||
|
$AVE_DB->Query($sql); |
||||||
|
header('Location:index.php?do=modules&action=modedit&mod=editdoc&moduleaction=1&cp=' . SESSION); |
||||||
} |
} |
||||||
$AVE_DB->Query($sql); |
|
||||||
header('Location:index.php?do=modules&action=modedit&mod=editdoc&moduleaction=1&cp=' . SESSION); |
static function EditDocDo($import_id) |
||||||
} |
|
||||||
|
|
||||||
static function EditDocDo($import_id) |
|
||||||
{ |
|
||||||
global $AVE_DB, $AVE_Document; |
|
||||||
|
|
||||||
if (is_numeric($import_id)) |
|
||||||
{ |
{ |
||||||
$sql = $AVE_DB->Query(" |
global $AVE_DB, $AVE_Document; |
||||||
SELECT * |
|
||||||
FROM " . PREFIX . "_module_editdoc |
if (is_numeric($import_id)) |
||||||
WHERE id = '" . $import_id . "' |
{ |
||||||
"); |
$sql = $AVE_DB->Query(" |
||||||
$row = $sql->FetchAssocArray(); |
SELECT |
||||||
$row['editdoc_fill_filters']=unserialize(base64_decode($row['editdoc_fill_filters'])); |
* |
||||||
$document_id=(isset($_REQUEST['editdoc_doc_id']) ? (int)$_REQUEST['editdoc_doc_id'] : null); |
FROM |
||||||
$data=editdoc::documentGet($document_id,(int)$row['editdoc_rub']); |
" . PREFIX . "_module_editdoc |
||||||
//Пришла форма |
WHERE |
||||||
if(isset($_REQUEST['editdoc_action']) && $_REQUEST['editdoc_action']==$import_id){ |
id = '" . $import_id . "' |
||||||
//вот тут сохранение будет |
"); |
||||||
$save=true; |
|
||||||
foreach($row['editdoc_fill_filters']['header'] as $k=>$v) |
$row = $sql->FetchAssocArray(); |
||||||
|
|
||||||
|
$row['editdoc_fill_filters'] = unserialize(base64_decode($row['editdoc_fill_filters'])); |
||||||
|
|
||||||
|
$document_id = (isset($_REQUEST['editdoc_doc_id']) |
||||||
|
? (int)$_REQUEST['editdoc_doc_id'] |
||||||
|
: null); |
||||||
|
|
||||||
|
$data = editdoc::documentGet($document_id, (int)$row['editdoc_rub']); |
||||||
|
|
||||||
|
//Пришла форма |
||||||
|
if(isset($_REQUEST['editdoc_action']) && $_REQUEST['editdoc_action'] == $import_id) |
||||||
{ |
{ |
||||||
$exp=' |
//вот тут сохранение будет |
||||||
function editdoc_reth_'.$import_id.'_'.$k.'($data){ |
$save = true; |
||||||
?>'.trim($v).'<? |
|
||||||
};'; |
foreach($row['editdoc_fill_filters']['header'] as $k => $v) |
||||||
eval($exp); |
{ |
||||||
$ret='editdoc_reth_'.$import_id.'_'.$k; |
$exp = ' |
||||||
$data['header'][$k]=$ret($data); |
function editdoc_reth_' . $import_id . '_' . $k . '($data) |
||||||
if($data['header'][$k]===NULL){ |
{ |
||||||
$save=false; |
?>'.trim($v).'<? |
||||||
|
}; |
||||||
|
'; |
||||||
|
|
||||||
|
eval($exp); |
||||||
|
|
||||||
|
$ret = 'editdoc_reth_' . $import_id . '_' . $k; |
||||||
|
|
||||||
|
$data['header'][$k] = $ret($data); |
||||||
|
|
||||||
|
if($data['header'][$k] === NULL) |
||||||
|
{ |
||||||
|
$save=false; |
||||||
|
} |
||||||
} |
} |
||||||
} |
|
||||||
$data['header']['rubric_id']=$row['editdoc_rub']; |
|
||||||
|
|
||||||
foreach($row['editdoc_fill_filters']['body'] as $k=>$v) |
$data['header']['rubric_id']=$row['editdoc_rub']; |
||||||
{ |
|
||||||
$exp=' |
foreach($row['editdoc_fill_filters']['body'] as $k => $v) |
||||||
function editdoc_retb_'.$import_id.'_'.$k.'($data){ |
{ |
||||||
?>'.trim($v).'<? |
$exp = ' |
||||||
};'; |
function editdoc_retb_'.$import_id.'_'.$k.'($data) |
||||||
eval($exp); |
{ |
||||||
$ret='editdoc_retb_'.$import_id.'_'.$k; |
?>'.trim($v).'<? |
||||||
$data['body'][$k]=$ret($data); |
}; |
||||||
if($data['body'][$k]===NULL){ |
'; |
||||||
$save=false; |
|
||||||
|
eval($exp); |
||||||
|
|
||||||
|
$ret = 'editdoc_retb_' . $import_id . '_' . $k; |
||||||
|
|
||||||
|
$data['body'][$k] = $ret($data); |
||||||
|
|
||||||
|
if($data['body'][$k] === NULL) |
||||||
|
{ |
||||||
|
$save = false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
$d = $data['header']; |
||||||
|
|
||||||
|
$d['doc_title'] = $d['document_title']; |
||||||
|
|
||||||
|
$d['feld'] = $data['body']; |
||||||
|
|
||||||
|
require_once(BASE_DIR . '/class/class.docs.php'); |
||||||
|
|
||||||
|
$AVE_Document = new AVE_Document(); |
||||||
|
|
||||||
|
$AVE_Document->documentPermissionFetch($row['editdoc_rub']); |
||||||
|
|
||||||
|
require_once(BASE_DIR.'/admin/functions/func.admin.common.php'); |
||||||
|
|
||||||
|
if ($save) |
||||||
|
{ |
||||||
|
// Код перед сохранением |
||||||
|
eval(' ?>'.$row['editdoc_before_edit'].'<? '); |
||||||
|
|
||||||
|
// Надо перед сохранением уточнить являюсь ли я хозяином документа .....не забыть!!!!!!!!!! а то админы тут делов наделают |
||||||
|
$GLOBALS['mod_editdoc'][$import_id] = @$AVE_Document->documentSave((int)$row['editdoc_rub'], $document_id, $d, true, $row['editdoc_use_rubric_code'], $row['editdoc_use_revisions'], $row['editdoc_use_log_save']); |
||||||
|
|
||||||
|
// Код после сохранения |
||||||
|
eval(' ?>'.$row['editdoc_after_edit'].'<? '); |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
$d=$data['header']; |
$template = $row['editdoc_template']; |
||||||
$d['doc_title']=$d['document_title']; |
|
||||||
$d['feld']=$data['body']; |
|
||||||
require(BASE_DIR . '/lib/redactor/ckeditor/ckeditor.php'); |
|
||||||
require_once(BASE_DIR.'/class/class.docs.php'); |
|
||||||
$AVE_Document=new AVE_Document(); |
|
||||||
@$AVE_Document->documentPermissionFetch($row['editdoc_rub']); |
|
||||||
require_once(BASE_DIR.'/admin/functions/func.admin.common.php'); |
|
||||||
if($save){ |
|
||||||
//надо перед сохранением уточнить являюсь ли я хозяином документа .....не забыть!!!!!!!!!! а то админы тут делов наделают |
|
||||||
$GLOBALS['mod_editdoc'][$import_id]=@$AVE_Document->documentSave((int)$row['editdoc_rub'],$document_id,$d,true); |
|
||||||
eval(' ?>'.$row['editdoc_afteredit'].'<? '); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
$template=$row['editdoc_template']; |
|
||||||
foreach($row['editdoc_fill_filters']["body"] as $k=>$v)$template=str_ireplace("[body:$k]",$row['editdoc_fill_filters']["template"][$k],$template); |
|
||||||
foreach($row['editdoc_fill_filters']["header"] as $k=>$v)$template=str_ireplace("[header:$k]",$row['editdoc_fill_filters']["template"][$k],$template); |
|
||||||
eval(' ?>'.$template.'<? '); |
|
||||||
|
|
||||||
} |
foreach($row['editdoc_fill_filters']["body"] as $k => $v) |
||||||
|
$template = str_ireplace("[body:$k]", $row['editdoc_fill_filters']["template"][$k], $template); |
||||||
|
|
||||||
} |
foreach($row['editdoc_fill_filters']["header"] as $k => $v) |
||||||
} |
$template = str_ireplace("[header:$k]", $row['editdoc_fill_filters']["template"][$k], $template); |
||||||
|
|
||||||
|
foreach($data['feld_type'] as $k => $v) |
||||||
|
$template = str_ireplace("[type:$k]", $v['type'], $template); |
||||||
|
|
||||||
|
foreach($data['feld_type'] as $k => $v) |
||||||
|
$template = str_ireplace("[title:$k]", $v['title'], $template); |
||||||
|
|
||||||
|
eval(' ?>'.$template.'<? '); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
?> |
?> |
@ -1,77 +1,83 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms - Модуль Публикатор документов |
* AVE.cms - Модуль Публикатор документов |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @subpackage module_EditDoc |
* @subpackage module_EditDoc |
||||||
* @filesource |
* @filesource |
||||||
*/ |
*/ |
||||||
|
|
||||||
if(!defined('BASE_DIR')) exit; |
if (! defined('BASE_DIR')) |
||||||
|
exit; |
||||||
if (defined('ACP')) |
|
||||||
{ |
if (defined('ACP')) |
||||||
$modul['ModuleName'] = "Публикатор документов"; |
|
||||||
$modul['ModuleSysName'] = "editdoc"; |
|
||||||
$modul['ModuleVersion'] = "1.0.2"; |
|
||||||
$modul['ModuleDescription'] = "Данный модуль предназначен для создания форм ввода и редактирования документов на сайте"; |
|
||||||
$modul['ModuleAutor'] = "Ave.cms Team"; |
|
||||||
$modul['ModuleCopyright'] = "© 2012 Ave-cms.ru"; |
|
||||||
$modul['ModuleIsFunction'] = 1; |
|
||||||
$modul['ModuleTemplate'] = 0; |
|
||||||
$modul['ModuleAdminEdit'] = 1; |
|
||||||
$modul['ModuleFunction'] = "mod_editdoc"; |
|
||||||
$modul['ModuleTag'] = '[mod_editdoc:XXX]'; |
|
||||||
$modul['ModuleTagLink'] = null; |
|
||||||
$modul['ModuleAveTag'] = '#\\\[mod_editdoc:(\\\d+)]#'; |
|
||||||
$modul['ModulePHPTag'] = "<?php mod_editdoc(''$1''); ?>";
|
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
function mod_editdoc($id) |
|
||||||
{ |
|
||||||
global $AVE_DB, $AVE_Core, $AVE_Template; |
|
||||||
if (! (is_file(BASE_DIR . '/modules/editdoc/class.editdoc.php') && |
|
||||||
@require_once(BASE_DIR . '/modules/editdoc/class.editdoc.php'))) module_error(); |
|
||||||
echo editdoc::EditDocDo($id); |
|
||||||
|
|
||||||
} |
|
||||||
/** |
|
||||||
* Администрирование |
|
||||||
*/ |
|
||||||
|
|
||||||
if (defined('ACP') && !empty($_REQUEST['moduleaction'])) |
|
||||||
{ |
|
||||||
if (! (is_file(BASE_DIR . '/modules/editdoc/class.editdoc.php') && |
|
||||||
@require_once(BASE_DIR . '/modules/editdoc/class.editdoc.php'))) module_error(); |
|
||||||
|
|
||||||
$tpl_dir = BASE_DIR . '/modules/editdoc/templates/'; |
|
||||||
$lang_file = BASE_DIR . '/modules/editdoc/lang/' . $_SESSION['user_language'] . '.txt'; |
|
||||||
|
|
||||||
$AVE_Template->config_load($lang_file); |
|
||||||
switch ($_REQUEST['moduleaction']) |
|
||||||
{ |
{ |
||||||
case '1': |
$modul['ModuleName'] = "Публикатор документов"; |
||||||
editdoc::EditDocList($tpl_dir); |
$modul['ModuleSysName'] = "editdoc"; |
||||||
break; |
$modul['ModuleVersion'] = "1.6"; |
||||||
|
$modul['ModuleDescription'] = "Данный модуль предназначен для создания форм ввода и редактирования документов на сайте"; |
||||||
|
$modul['ModuleAutor'] = "Ave.cms Team"; |
||||||
|
$modul['ModuleCopyright'] = "© 2017 Ave-cms.ru"; |
||||||
|
$modul['ModuleIsFunction'] = 1; |
||||||
|
$modul['ModuleTemplate'] = 0; |
||||||
|
$modul['ModuleAdminEdit'] = 1; |
||||||
|
$modul['ModuleFunction'] = "mod_editdoc"; |
||||||
|
$modul['ModuleTag'] = '[mod_editdoc:XXX]'; |
||||||
|
$modul['ModuleTagLink'] = null; |
||||||
|
$modul['ModuleAveTag'] = '#\\\[mod_editdoc:(\\\d+)]#'; |
||||||
|
$modul['ModulePHPTag'] = "<?php mod_editdoc(''$1''); ?>";
|
||||||
|
} |
||||||
|
|
||||||
case 'del': |
|
||||||
editdoc::EditDocDelete($_REQUEST['id']); |
|
||||||
break; |
|
||||||
|
|
||||||
case 'new': |
//======================================================= |
||||||
editdoc::EditDocNew($tpl_dir); |
// Вызов модуля по тегу |
||||||
break; |
//======================================================= |
||||||
|
function mod_editdoc($id) |
||||||
|
{ |
||||||
|
global $AVE_DB, $AVE_Core, $AVE_Template; |
||||||
|
|
||||||
case 'edit': |
if (! (is_file(BASE_DIR . '/modules/editdoc/class.editdoc.php') && @require_once(BASE_DIR . '/modules/editdoc/class.editdoc.php'))) |
||||||
editdoc::EditDocEdit(isset($_REQUEST['id']) ? $_REQUEST['id'] : null, $tpl_dir); |
module_error(); |
||||||
break; |
|
||||||
|
|
||||||
case 'saveedit': |
echo Editdoc::EditDocDo($id); |
||||||
editdoc::EditDocSave(isset($_REQUEST['id']) ? $_REQUEST['id'] : null); |
|
||||||
break; |
|
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
|
//======================================================= |
||||||
|
// Управление модулем в Панели управления |
||||||
|
//======================================================= |
||||||
|
if (defined('ACP') && !empty($_REQUEST['moduleaction'])) |
||||||
|
{ |
||||||
|
if (! (is_file(BASE_DIR . '/modules/editdoc/class.editdoc.php') && @require_once(BASE_DIR . '/modules/editdoc/class.editdoc.php'))) |
||||||
|
module_error(); |
||||||
|
|
||||||
|
$tpl_dir = BASE_DIR . '/modules/editdoc/templates/'; |
||||||
|
$lang_file = BASE_DIR . '/modules/editdoc/lang/' . $_SESSION['user_language'] . '.txt'; |
||||||
|
|
||||||
|
$AVE_Template->config_load($lang_file, 'admin'); |
||||||
|
|
||||||
|
switch ($_REQUEST['moduleaction']) |
||||||
|
{ |
||||||
|
case '1': |
||||||
|
Editdoc::EditDocList($tpl_dir); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'del': |
||||||
|
Editdoc::EditDocDelete($_REQUEST['id']); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'new': |
||||||
|
Editdoc::EditDocNew($tpl_dir); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'edit': |
||||||
|
Editdoc::EditDocEdit(isset($_REQUEST['id']) ? $_REQUEST['id'] : null, $tpl_dir); |
||||||
|
break; |
||||||
|
|
||||||
|
case 'saveedit': |
||||||
|
Editdoc::EditDocSave(isset($_REQUEST['id']) ? $_REQUEST['id'] : null); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
?> |
?> |
@ -1,52 +1,50 @@ |
|||||||
<?php |
<?php |
||||||
|
|
||||||
/** |
/** |
||||||
* AVE.cms - Модуль Публикатор документов |
* AVE.cms - Модуль Публикатор документов |
||||||
* |
* |
||||||
* @package AVE.cms |
* @package AVE.cms |
||||||
* @subpackage module_EditDoc |
* @subpackage module_EditDoc |
||||||
* @filesource |
* @filesource |
||||||
*/ |
*/ |
||||||
|
|
||||||
/** |
/** |
||||||
* mySQL-запросы для установки, обновления и удаления модуля |
* mySQL-запросы для установки, обновления и удаления модуля |
||||||
*/ |
*/ |
||||||
|
|
||||||
$module_sql_install = array(); |
$module_sql_install = array(); |
||||||
$module_sql_deinstall = array(); |
$module_sql_deinstall = array(); |
||||||
$module_sql_update = array(); |
$module_sql_update = array(); |
||||||
|
|
||||||
//$module_sql_deinstall[] = "DROP TABLE IF EXISTS CPPREFIX_module_editdoc;"; |
// Удаление модуля |
||||||
|
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `CPPREFIX_module_editdoc`;"; |
||||||
$module_sql_install[] = "CREATE TABLE IF NOT EXISTS CPPREFIX_module_editdoc ( |
|
||||||
`id` mediumint(5) unsigned NOT NULL auto_increment, |
// Установка модуля |
||||||
`editdoc_lastchange` int(10) unsigned default NULL, |
$module_sql_install[] = "CREATE TABLE `CPPREFIX_module_editdoc` ( |
||||||
`editdoc_name` varchar(255) NOT NULL, |
`id` mediumint(5) unsigned NOT NULL AUTO_INCREMENT, |
||||||
`editdoc_rub` int(10) unsigned default NULL, |
`editdoc_name` varchar(255) NOT NULL, |
||||||
`editdoc_template` longtext NOT NULL, |
`editdoc_rub` mediumint(5) DEFAULT NULL, |
||||||
`editdoc_fill_filters` longtext NOT NULL, |
`editdoc_template` longtext NOT NULL, |
||||||
`editdoc_afteredit` longtext NOT NULL, |
`editdoc_fill_filters` longtext NOT NULL, |
||||||
PRIMARY KEY (`id`) |
`editdoc_before_edit` longtext NOT NULL, |
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; |
`editdoc_after_edit` longtext NOT NULL, |
||||||
|
`editdoc_use_revisions` enum('0','1') NOT NULL DEFAULT '0', |
||||||
// Обновление модуля |
`editdoc_use_rubric_code` enum('0','1') NOT NULL DEFAULT '0', |
||||||
$module_sql_update[] = " |
`editdoc_use_log_save` enum('0','1') NOT NULL DEFAULT '0', |
||||||
UPDATE |
`editdoc_last_change` int(10) unsigned DEFAULT NULL, |
||||||
`CPPREFIX_module` |
PRIMARY KEY (`id`) |
||||||
SET |
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; |
||||||
ModuleAveTag = '" . $modul['ModuleAveTag'] . "', |
|
||||||
ModulePHPTag = '" . $modul['ModulePHPTag'] . "', |
// Обновление модуля |
||||||
ModuleVersion = '" . $modul['ModuleVersion'] . "' |
$module_sql_update[] = " |
||||||
WHERE |
UPDATE |
||||||
ModuleSysName = '" . $modul['ModuleSysName'] . "' |
`CPPREFIX_module` |
||||||
LIMIT 1; |
SET |
||||||
"; |
ModuleAveTag = '" . $modul['ModuleAveTag'] . "', |
||||||
|
ModulePHPTag = '" . $modul['ModulePHPTag'] . "', |
||||||
$module_sql_update[] = " |
ModuleVersion = '" . $modul['ModuleVersion'] . "' |
||||||
RENAME TABLE |
WHERE |
||||||
`CPPREFIX_modul_editdoc` |
ModuleSysName = '" . $modul['ModuleSysName'] . "' |
||||||
TO |
LIMIT 1; |
||||||
`CPPREFIX_module_editdoc` |
"; |
||||||
"; |
|
||||||
|
|
||||||
?> |
?> |
Loading…
Reference in new issue