SVarlamov
9 years ago
commit
ff8b78bee8
10 changed files with 1063 additions and 0 deletions
@ -0,0 +1,13 @@ |
|||||||
|
## editdoc |
||||||
|
|
||||||
|
# Модуль Публикатор документов v1.0.1 |
||||||
|
|
||||||
|
|
||||||
|
## Данный модуль предназначен для создания форм ввода и редактирования документов на сайте |
||||||
|
|
||||||
|
|
||||||
|
## Перед копированием модуля в папку modules, удалите файл README.md, копируйте только корневую папку editdoc со всем ее содержимым внутри! |
||||||
|
|
||||||
|
## Changelog: |
||||||
|
|
||||||
|
16.01.2013 - версия 1.0.1 |
@ -0,0 +1,380 @@ |
|||||||
|
<?php |
||||||
|
class editdoc |
||||||
|
{ |
||||||
|
|
||||||
|
/** |
||||||
|
* Метод, предназначенный для получения структуры документа из БД |
||||||
|
* |
||||||
|
* @param int $document_id идентификатор Документа |
||||||
|
* return - возвращает документ положенный в структуру .... |
||||||
|
**/ |
||||||
|
public static function documentGet($document_id,$rubric_id=0){ |
||||||
|
global $AVE_DB; |
||||||
|
//var_dump($document_id); |
||||||
|
$document_id=(int)$document_id; |
||||||
|
$rubric_id=(int)$rubric_id; |
||||||
|
if($document_id==0&&$rubric_id==0)return false; |
||||||
|
$sql="SELECT * FROM " . PREFIX . "_documents WHERE Id='$document_id' and document_author_id=".$_SESSION['user_id']." LIMIT 1"; |
||||||
|
$rows=$AVE_DB->Query($sql); |
||||||
|
if($rows->NumRows()>0)$rubric_id=0; |
||||||
|
if($rubric_id>0)$rows=$AVE_DB->Query("SELECT * FROM " . PREFIX . "_documents LIMIT 1"); |
||||||
|
while ($row = $rows->FetchAssocArray()) { |
||||||
|
$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 |
||||||
|
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 |
||||||
|
"); |
||||||
|
} |
||||||
|
while ($row = $rows->FetchAssocArray()) { |
||||||
|
$felds[$row['Id']]=$row['df_id'] ? $row['field_value'] : $row['rubric_field_default']; |
||||||
|
$feldsType[$row['Id']]['type']=$row['rubric_field_type']; |
||||||
|
$feldsType[$row['Id']]['title']=$row['rubric_field_title']; |
||||||
|
} |
||||||
|
$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(); |
||||||
|
|
||||||
|
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module_editdoc"); |
||||||
|
|
||||||
|
while ($result = $sql->FetchRow()) |
||||||
|
{ |
||||||
|
array_push($imports, $result); |
||||||
|
} |
||||||
|
|
||||||
|
$rubs = array(); |
||||||
|
|
||||||
|
$sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_rubrics"); |
||||||
|
|
||||||
|
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')); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Добавление нового |
||||||
|
* |
||||||
|
* @param int $import_id идентификатор |
||||||
|
* @param string $tpl_dir - путь к папке с шаблонами модуля |
||||||
|
* |
||||||
|
*/ |
||||||
|
public static function EditDocNew($tpl_dir) |
||||||
|
{ |
||||||
|
global $AVE_DB, $AVE_Template; |
||||||
|
|
||||||
|
$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')); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Редактирование |
||||||
|
* |
||||||
|
* @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)) |
||||||
|
{ |
||||||
|
$sql = $AVE_DB->Query(" |
||||||
|
SELECT * |
||||||
|
FROM " . PREFIX . "_module_editdoc |
||||||
|
WHERE id = '" . $import_id . "' |
||||||
|
"); |
||||||
|
|
||||||
|
$row = $sql->FetchAssocArray(); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$row['editdoc_name'] = ''; |
||||||
|
$row['editdoc_fill_filters']=''; |
||||||
|
} |
||||||
|
|
||||||
|
$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()) |
||||||
|
{ |
||||||
|
array_push($rubs, $result); |
||||||
|
} |
||||||
|
|
||||||
|
$AVE_Template->assign('rubs',$rubs); |
||||||
|
$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 |
||||||
|
<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) |
||||||
|
$tmpl.=" <div id=\"edit_doc_header_$k\">[header:$k]</div>\r\n"; |
||||||
|
|
||||||
|
foreach($data['body'] as $k => $v) |
||||||
|
$tmpl.=" <div id=\"edit_doc_body_$k\"><label>".$v[0]."</label>[body:$k]</div>\r\n"; |
||||||
|
|
||||||
|
$tmpl.='<input type="submit" value="Сохранить"></form>'; |
||||||
|
$row['editdoc_template']=$tmpl; |
||||||
|
} |
||||||
|
|
||||||
|
$AVE_Template->assign('data',$data); |
||||||
|
unset($row['editdoc_fill_filters']); |
||||||
|
$AVE_Template->assign($row); |
||||||
|
$AVE_Template->assign('content', $AVE_Template->fetch($tpl_dir . 'admin_edit.tpl')); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Удаление |
||||||
|
* |
||||||
|
* @param int $import_id идентификатор |
||||||
|
*/ |
||||||
|
public static function EditDocDelete($import_id) |
||||||
|
{ |
||||||
|
global $AVE_DB; |
||||||
|
|
||||||
|
if (is_numeric($import_id)) |
||||||
|
{ |
||||||
|
$AVE_DB->Query(" |
||||||
|
DELETE |
||||||
|
FROM " . PREFIX . "_module_editdoc |
||||||
|
WHERE id = '" . $import_id . "' |
||||||
|
"); |
||||||
|
} |
||||||
|
|
||||||
|
header('Location:index.php?do=modules&action=modedit&mod=editdoc&moduleaction=1&cp=' . SESSION); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* Получение полей Документа |
||||||
|
* |
||||||
|
* @param inc $id - идентификатор рубрики |
||||||
|
* @param array $array - массив со значениями |
||||||
|
*/ |
||||||
|
public static function getRubricFields($id,$array) |
||||||
|
{ |
||||||
|
global $AVE_DB; |
||||||
|
$res=array(); |
||||||
|
if(!is_array($array))$array=Array(); |
||||||
|
$res=Array(); |
||||||
|
$res['header']=array(); |
||||||
|
$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?>");
|
||||||
|
$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?>");
|
||||||
|
$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?>");
|
||||||
|
$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?>");
|
||||||
|
$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?>");
|
||||||
|
$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) |
||||||
|
{ |
||||||
|
$value = is_array($value) ? |
||||||
|
array_map('stripslashes_deep', $value) : |
||||||
|
stripslashes($value); |
||||||
|
|
||||||
|
return $value; |
||||||
|
} |
||||||
|
|
||||||
|
$v=base64_encode(serialize(stripslashes_deep($_REQUEST['document']))); |
||||||
|
|
||||||
|
if (is_numeric($import_id)) |
||||||
|
{ |
||||||
|
$sql=" |
||||||
|
UPDATE " . PREFIX . "_module_editdoc |
||||||
|
SET |
||||||
|
`editdoc_name` = '" . ($_REQUEST['editdoc_name']) . "', |
||||||
|
".($_REQUEST['editdoc_rub']> '' ? "`editdoc_rub` = '" . ($_REQUEST['editdoc_rub']) . "'," : "")." |
||||||
|
`editdoc_lastchange` = '" . ($_REQUEST['editdoc_lastchange']) . "', |
||||||
|
`editdoc_fill_filters` = '" . $v . "', |
||||||
|
`editdoc_template` = '" . $_REQUEST['editdoc_template'] . "', |
||||||
|
`editdoc_afteredit` = '" . (($_REQUEST['editdoc_afteredit'] ? $_REQUEST['editdoc_afteredit'] : addslashes("<?php
|
||||||
|
//header('Location: /'.rewrite_link('index.php?id='.\$GLOBALS['mod_editdoc'][".$import_id."])); |
||||||
|
//exit(); |
||||||
|
?>"))) . "' |
||||||
|
WHERE |
||||||
|
id = '" . $import_id . "' |
||||||
|
"; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
$sql=" |
||||||
|
INSERT |
||||||
|
INTO " . PREFIX . "_module_editdoc |
||||||
|
SET |
||||||
|
id = '', |
||||||
|
`editdoc_name` = '" . ($_REQUEST['editdoc_name']) . "', |
||||||
|
".($_REQUEST['editdoc_rub']> '' ? "`editdoc_rub` = '" . ($_REQUEST['editdoc_rub']) . "'," : "")." |
||||||
|
`editdoc_lastchange` = '" . ($_REQUEST['editdoc_lastchange']) . "', |
||||||
|
`editdoc_fill_filters` = '" . $v . "', |
||||||
|
`editdoc_template` = '" . ($_REQUEST['editdoc_template']) . "', |
||||||
|
`editdoc_afteredit` = '" . ($_REQUEST['editdoc_afteredit']) . "' |
||||||
|
"; |
||||||
|
} |
||||||
|
$AVE_DB->Query($sql); |
||||||
|
header('Location:index.php?do=modules&action=modedit&mod=editdoc&moduleaction=1&cp=' . SESSION); |
||||||
|
} |
||||||
|
|
||||||
|
static function EditDocDo($import_id) |
||||||
|
{ |
||||||
|
global $AVE_DB, $AVE_Document; |
||||||
|
|
||||||
|
if (is_numeric($import_id)) |
||||||
|
{ |
||||||
|
$sql = $AVE_DB->Query(" |
||||||
|
SELECT * |
||||||
|
FROM " . PREFIX . "_module_editdoc |
||||||
|
WHERE id = '" . $import_id . "' |
||||||
|
"); |
||||||
|
$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){ |
||||||
|
//вот тут сохранение будет |
||||||
|
$save=true; |
||||||
|
foreach($row['editdoc_fill_filters']['header'] as $k=>$v) |
||||||
|
{ |
||||||
|
$exp=' |
||||||
|
function editdoc_reth_'.$import_id.'_'.$k.'($data){ |
||||||
|
?>'.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) |
||||||
|
{ |
||||||
|
$exp=' |
||||||
|
function editdoc_retb_'.$import_id.'_'.$k.'($data){ |
||||||
|
?>'.trim($v).'<? |
||||||
|
};'; |
||||||
|
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(BASE_DIR . '/admin/editor/fckeditor.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.'<? '); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
?> |
@ -0,0 +1,39 @@ |
|||||||
|
EDITDOC_EDIT = "Публикатор" |
||||||
|
EDITDOC_EDIT_TIP = "В данном разделе предоставлены все публикаторы документов." |
||||||
|
EDITDOC_ID = "Id" |
||||||
|
EDITDOC_NAME = "Наименование публикатора" |
||||||
|
EDITDOC_ACTIONS = "Действия" |
||||||
|
EDITDOC_NO_ITEMS = "В настоящий момент нет данных" |
||||||
|
EDITDOC_BUTTON_SAVE = "Сохранить изменения" |
||||||
|
EDITDOC_BUTTON_ADD = "Добавить публикатор" |
||||||
|
EDITDOC_INSERT_H = "Добавление/Редактирование публикаторов" |
||||||
|
EDITDOC_INNAME = "Введите название публикатора" |
||||||
|
EDITDOC_ENTER_NAME = "Пожалуйста, укажите название публикатора" |
||||||
|
EDITDOC_INSERT = "Здесь вы можите добавить или изменить выбранный вами публикатор" |
||||||
|
EDITDOC_SAVE = "Сохранить" |
||||||
|
EDITDOC_SAVEDIT = "Сохранить изменения" |
||||||
|
EDITDOC_INTEXT = "Системный блок" |
||||||
|
EDITDOC_ADD = "Добавить новый публикатор" |
||||||
|
EDITDOC_EDIT_HINT = "Редактировать публикатор" |
||||||
|
EDITDOC_DELETE_HINT = "Удалить публикатор" |
||||||
|
EDITDOC_DEL_HINT = "Вы уверены, что хотите удалить публикатор ?" |
||||||
|
EDITDOC_LIST_LINK = "Список публикаторов документов" |
||||||
|
EDITDOC_FILE = "Файл импорта по умолчанию" |
||||||
|
EDITDOC_CHECK_FILE = "Импортировать если файл изменился автоматически" |
||||||
|
EDITDOC_SUCCESLOCATION = "Редирект после успешного редактирования" |
||||||
|
EDITDOC_RUBRICS = "Рубрика" |
||||||
|
EDITDOC_TAG = "Системный тег" |
||||||
|
EDITDOC_INNAME = "Введите наименование нового публикатора" |
||||||
|
EDITDOC_INSERT_H = "Добавление нового публикатора" |
||||||
|
EDITDOC_EDIT_H = "Редактирование публикатора" |
||||||
|
EDITDOC_TABLE_HEADER = "?" |
||||||
|
EDITDOC_SAVEDIT_NEXT = "Сохранить и продолжить редактирование" |
||||||
|
EDITDOC_SAVED = "Шаблон публикатора успешно сохранен" |
||||||
|
EDITDOC_HEADER_AFTER = "Код после успешного добавления документа" |
||||||
|
EDITDOC_HEADER_BODY = "Основное содержимое документа" |
||||||
|
EDITDOC_HEADER_HEAD = "Параметры документа" |
||||||
|
EDITDOC_HEADER_FORM = "Шаблон вывода формы в публичной части сайта" |
||||||
|
EDITDOC_HEADER_FORM = "Параметры документа" |
||||||
|
EDITDOC_HEADER_PHP = "Шаблон PHP" |
||||||
|
EDITDOC_HEADER_INSTR = "Инструмент ввода" |
||||||
|
EDITDOC_HEADER_CORE = "Обработчик" |
@ -0,0 +1,77 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* AVE.cms - Модуль Публикатор документов |
||||||
|
* |
||||||
|
* @package AVE.cms |
||||||
|
* @subpackage module_EditDoc |
||||||
|
* @filesource |
||||||
|
*/ |
||||||
|
|
||||||
|
if(!defined('BASE_DIR')) exit; |
||||||
|
|
||||||
|
if (defined('ACP')) |
||||||
|
{ |
||||||
|
$modul['ModuleName'] = "Публикатор документов"; |
||||||
|
$modul['ModuleSysName'] = "editdoc"; |
||||||
|
$modul['ModuleVersion'] = "1.0.1"; |
||||||
|
$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': |
||||||
|
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; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
?> |
@ -0,0 +1,52 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* AVE.cms - Модуль Публикатор документов |
||||||
|
* |
||||||
|
* @package AVE.cms |
||||||
|
* @subpackage module_EditDoc |
||||||
|
* @filesource |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* mySQL-запросы для установки, обновления и удаления модуля |
||||||
|
*/ |
||||||
|
|
||||||
|
$module_sql_install = array(); |
||||||
|
$module_sql_deinstall = array(); |
||||||
|
$module_sql_update = array(); |
||||||
|
|
||||||
|
//$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, |
||||||
|
`editdoc_name` varchar(255) NOT NULL, |
||||||
|
`editdoc_rub` int(10) unsigned default NULL, |
||||||
|
`editdoc_template` longtext NOT NULL, |
||||||
|
`editdoc_fill_filters` longtext NOT NULL, |
||||||
|
`editdoc_afteredit` longtext NOT NULL, |
||||||
|
PRIMARY KEY (`id`) |
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"; |
||||||
|
|
||||||
|
// Обновление модуля |
||||||
|
$module_sql_update[] = " |
||||||
|
UPDATE |
||||||
|
`CPPREFIX_module` |
||||||
|
SET |
||||||
|
ModuleAveTag = '" . $modul['ModuleAveTag'] . "', |
||||||
|
ModulePHPTag = '" . $modul['ModulePHPTag'] . "', |
||||||
|
ModuleVersion = '" . $modul['ModuleVersion'] . "' |
||||||
|
WHERE |
||||||
|
ModuleSysName = '" . $modul['ModuleSysName'] . "' |
||||||
|
LIMIT 1; |
||||||
|
"; |
||||||
|
|
||||||
|
$module_sql_update[] = " |
||||||
|
RENAME TABLE |
||||||
|
`CPPREFIX_modul_editdoc` |
||||||
|
TO |
||||||
|
`CPPREFIX_module_editdoc` |
||||||
|
"; |
||||||
|
|
||||||
|
?> |
@ -0,0 +1,370 @@ |
|||||||
|
<link rel="stylesheet" href="{$ABS_PATH}admin/codemirror/lib/codemirror.css"> |
||||||
|
|
||||||
|
<script src="{$ABS_PATH}admin/codemirror/lib/codemirror.js" type="text/javascript"></script> |
||||||
|
<script src="{$ABS_PATH}admin/codemirror/mode/xml/xml.js"></script> |
||||||
|
<script src="{$ABS_PATH}admin/codemirror/mode/javascript/javascript.js"></script> |
||||||
|
<script src="{$ABS_PATH}admin/codemirror/mode/css/css.js"></script> |
||||||
|
<script src="{$ABS_PATH}admin/codemirror/mode/clike/clike.js"></script> |
||||||
|
<script src="{$ABS_PATH}admin/codemirror/mode/php/php.js"></script> |
||||||
|
|
||||||
|
{literal} |
||||||
|
<style type="text/css"> |
||||||
|
.activeline {background: #e8f2ff !important;} |
||||||
|
</style> |
||||||
|
{/literal} |
||||||
|
|
||||||
|
<div class="title"><h5>{#EDITDOC_INSERT_H#}</h5></div> |
||||||
|
|
||||||
|
<div class="widget" style="margin-top: 0px;"> |
||||||
|
<div class="body"> |
||||||
|
{#EDITDOC_INSERT#} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="breadCrumbHolder module"> |
||||||
|
<div class="breadCrumb module"> |
||||||
|
<ul> |
||||||
|
<li class="firstB"><a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a></li> |
||||||
|
<li><a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a></li> |
||||||
|
<li><a href="index.php?do=modules&action=modedit&mod=editdoc&moduleaction=1&cp={$sess}">{#EDITDOC_LIST_LINK#}</a></li> |
||||||
|
<li><strong class="code">{if $smarty.request.id != ''}{$editdoc_name|escape}{else}{$smarty.request.editdoc_name}{/if}</strong></li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<form id="save_editdoc" action="index.php?do=modules&action=modedit&mod=editdoc&moduleaction=saveedit&cp={$sess}" method="post" class="mainForm"> |
||||||
|
|
||||||
|
{if $smarty.request.id != ''} |
||||||
|
|
||||||
|
<div class="widget first"> |
||||||
|
<div class="head"><h5 class="iFrames">{if $smarty.request.id != ''}{#EDITDOC_EDIT_H#}{else}{#EDITDOC_INSERT_H#}{/if}</h5></div> |
||||||
|
|
||||||
|
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm"> |
||||||
|
|
||||||
|
<tr> |
||||||
|
<td>{#EDITDOC_NAME#}</td> |
||||||
|
<td><div class="pr12"><input name="editdoc_name" class="mousetrap" type="text" value="{if $smarty.request.id != ''}{$editdoc_name|escape}{else}{$smarty.request.editdoc_name}{/if}" size="80" /></div></td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>{#EDITDOC_RUBRICS#}</td> |
||||||
|
<td> |
||||||
|
<select name="editdoc_rub" {if $smarty.request.id != ''}disabled="disabled"{/if} size="4"> |
||||||
|
{foreach from=$rubs item=rub} |
||||||
|
{if $rub->Id==$editdoc_rub} |
||||||
|
<option value="{$rub->Id}" selected>{$rub->rubric_title}</option> |
||||||
|
{else} |
||||||
|
<option value="{$rub->Id}">{$rub->rubric_title}</option> |
||||||
|
{/if} |
||||||
|
{/foreach} |
||||||
|
</select> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
</table> |
||||||
|
|
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div class="widget first"> |
||||||
|
<div class="head"><h5 class="iFrames">{#EDITDOC_HEADER_FORM#}</h5></div> |
||||||
|
|
||||||
|
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<td>{#EDITDOC_HEADER_PHP#}</td> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
<textarea class="mousetrap" {$read_only} name="editdoc_template" id="editdoc_template" wrap="off" style="width:100%; height:340px">{$editdoc_template|default:$prefab|escape:html}</textarea> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
| |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<ol>', '</ol>');"><strong>OL</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<ul>', '</ul>');"><strong>UL</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<li>', '</li>');"><strong>LI</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<p class="">', '</p>');"><strong>P</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<strong>', '</strong>');"><strong>B</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<em>', '</em>');"><strong>I</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<h1>', '</h1>');"><strong>H1</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<h2>', '</h2>');"><strong>H2</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<h3>', '</h3>');"><strong>H3</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<h4>', '</h4>');"><strong>H4</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<h5>', '</h5>');"><strong>H5</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<div class="" id="">', '</div>');"><strong>DIV</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<a href="" title="">', '</a>');"><strong>A</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<img src="" alt="" />', '');"><strong>IMG</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<span>', '</span>');"><strong>SPAN</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<pre>', '</pre>');"><strong>PRE</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('<br />', '');"><strong>BR</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection('\t', '');"><strong>TAB</strong></a> | |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
|
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div class="widget first"> |
||||||
|
<div class="head"><h5 class="iFrames">{#EDITDOC_HEADER_HEAD#}</h5></div> |
||||||
|
|
||||||
|
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm"> |
||||||
|
<col width="20%" /> |
||||||
|
<col width="40%" /> |
||||||
|
<col width="40%" /> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<td> </td> |
||||||
|
<td>{#EDITDOC_HEADER_CORE#}</td> |
||||||
|
<td>{#EDITDOC_HEADER_INSTR#}</td> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
|
||||||
|
<tbody> |
||||||
|
{foreach from=$data.header key=k item=v} |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
<strong>$data['header']['{$k}']</strong> |
||||||
|
</td> |
||||||
|
<td> |
||||||
|
<div class="pr12"><textarea class="mousetrap" name="document[header][{$k}]" id="document_header_{$k}" cols="60" rows="7">{$v[0]|default:$prefab|escape:html}</textarea></div> |
||||||
|
</td> |
||||||
|
<td> |
||||||
|
<div class="pr12"><textarea class="mousetrap" name="document[template][{$k}]" id="document_template_{$k}" cols="60" rows="7">{$v[1]|default:$prefab|escape:html}</textarea></div> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
{/foreach} |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
|
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="widget first"> |
||||||
|
<div class="head"><h5 class="iFrames">{#EDITDOC_HEADER_BODY#}</h5></div> |
||||||
|
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm"> |
||||||
|
<col width="20%" /> |
||||||
|
<col width="40%" /> |
||||||
|
<col width="40%" /> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<td> </td> |
||||||
|
<td>{#EDITDOC_HEADER_CORE#}</td> |
||||||
|
<td>{#EDITDOC_HEADER_INSTR#}</td> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
{foreach from=$data.body key=k item=v} |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
<strong>{$v[0]}</strong><br> |
||||||
|
$data['body']['{$k}'] |
||||||
|
</td> |
||||||
|
<td> |
||||||
|
<div class="pr12"><textarea class="mousetrap" name="document[body][{$k}]" id="document_body_{$k}" cols="70" rows="7">{$v[1]|default:$prefab|escape:html}</textarea></div> |
||||||
|
</td> |
||||||
|
<td> |
||||||
|
<div class="pr12"><textarea class="mousetrap" name="document[template][{$k}]" id="document_template_{$k}" cols="70" rows="7">{$v[2]|default:$prefab|escape:html}</textarea></div> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
{/foreach} |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="widget first"> |
||||||
|
<div class="head"><h5 class="iFrames">{#EDITDOC_HEADER_AFTER#}</h5></div> |
||||||
|
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<td>{#EDITDOC_HEADER_PHP#}</td> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
<textarea {$read_only} name="editdoc_afteredit" id="editdoc_afteredit" wrap="off" style="width:100%; height:340px">{$editdoc_afteredit|default:$prefab|escape:html}</textarea> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td> |
||||||
|
| |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<ol>', '</ol>');"><strong>OL</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<ul>', '</ul>');"><strong>UL</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<li>', '</li>');"><strong>LI</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<p class="">', '</p>');"><strong>P</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<strong>', '</strong>');"><strong>B</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<em>', '</em>');"><strong>I</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<h1>', '</h1>');"><strong>H1</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<h2>', '</h2>');"><strong>H2</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<h3>', '</h3>');"><strong>H3</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<h4>', '</h4>');"><strong>H4</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<h5>', '</h5>');"><strong>H5</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<div class="" id="">', '</div>');"><strong>DIV</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<a href="" title="">', '</a>');"><strong>A</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<img src="" alt="" />', '');"><strong>IMG</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<span>', '</span>');"><strong>SPAN</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<pre>', '</pre>');"><strong>PRE</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('<br />', '');"><strong>BR</strong></a> | |
||||||
|
<a href="javascript:void(0);" onclick="textSelection2('\t', '');"><strong>TAB</strong></a> | |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td colspan="3"> |
||||||
|
<input type="hidden" name="id" value="{$id}"> |
||||||
|
<input name="submit" type="submit" class="basicBtn" value="{#EDITDOC_SAVEDIT#}" /> |
||||||
|
или |
||||||
|
<input type="submit" class="blackBtn SaveEdit" name="next_edit" value="{#EDITDOC_SAVEDIT_NEXT#}" /> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
|
||||||
|
<script language="javascript"> |
||||||
|
var sett_options = {ldelim} |
||||||
|
url: 'index.php?do=modules&action=modedit&mod=editdoc&moduleaction=saveedit&cp={$sess}', |
||||||
|
beforeSubmit: Request, |
||||||
|
success: Response |
||||||
|
{rdelim} |
||||||
|
|
||||||
|
function Request(){ldelim} |
||||||
|
$.alerts._overlay('show'); |
||||||
|
{rdelim} |
||||||
|
|
||||||
|
function Response(){ldelim} |
||||||
|
$.alerts._overlay('hide'); |
||||||
|
$.jGrowl('{#EDITDOC_SAVED#}', {ldelim}theme: 'accept'{rdelim}); |
||||||
|
{rdelim} |
||||||
|
|
||||||
|
$(document).ready(function(){ldelim} |
||||||
|
|
||||||
|
Mousetrap.bind(['ctrl+s', 'meta+s'], function(e) {ldelim} |
||||||
|
if (e.preventDefault) {ldelim} |
||||||
|
e.preventDefault(); |
||||||
|
{rdelim} else {ldelim} |
||||||
|
// internet explorer |
||||||
|
e.returnValue = false; |
||||||
|
{rdelim} |
||||||
|
$("#save_editdoc").ajaxSubmit(sett_options); |
||||||
|
return false; |
||||||
|
{rdelim}); |
||||||
|
|
||||||
|
$(".SaveEdit").click(function(e){ldelim} |
||||||
|
if (e.preventDefault) {ldelim} |
||||||
|
e.preventDefault(); |
||||||
|
{rdelim} else {ldelim} |
||||||
|
// internet explorer |
||||||
|
e.returnValue = false; |
||||||
|
{rdelim} |
||||||
|
$("#save_editdoc").ajaxSubmit(sett_options); |
||||||
|
return false; |
||||||
|
{rdelim}); |
||||||
|
|
||||||
|
{rdelim}); |
||||||
|
|
||||||
|
{literal} |
||||||
|
var editor = CodeMirror.fromTextArea(document.getElementById("editdoc_template"), { |
||||||
|
extraKeys: {"Ctrl-S": function(cm){$("#save_editdoc").ajaxSubmit(sett_options);}}, |
||||||
|
lineNumbers: true, |
||||||
|
lineWrapping: true, |
||||||
|
matchBrackets: true, |
||||||
|
mode: "application/x-httpd-php", |
||||||
|
indentUnit: 4, |
||||||
|
indentWithTabs: true, |
||||||
|
enterMode: "keep", |
||||||
|
tabMode: "shift", |
||||||
|
onChange: function(){editor.save();}, |
||||||
|
onCursorActivity: function() { |
||||||
|
editor.setLineClass(hlLine, null, null); |
||||||
|
hlLine = editor.setLineClass(editor.getCursor().line, null, "activeline"); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
function getSelectedRange() { |
||||||
|
return { from: editor.getCursor(true), to: editor.getCursor(false) }; |
||||||
|
} |
||||||
|
|
||||||
|
function textSelection(startTag,endTag) { |
||||||
|
var range = getSelectedRange(); |
||||||
|
editor.replaceRange(startTag + editor.getRange(range.from, range.to) + endTag, range.from, range.to) |
||||||
|
editor.setCursor(range.from.line, range.from.ch + startTag.length); |
||||||
|
} |
||||||
|
|
||||||
|
var hlLine = editor.setLineClass(0, "activeline"); |
||||||
|
|
||||||
|
var editor2 = CodeMirror.fromTextArea(document.getElementById("editdoc_afteredit"), { |
||||||
|
extraKeys: {"Ctrl-S": function(cm){$("#save_editdoc").ajaxSubmit(sett_options);}}, |
||||||
|
lineNumbers: true, |
||||||
|
lineWrapping: true, |
||||||
|
matchBrackets: true, |
||||||
|
mode: "application/x-httpd-php", |
||||||
|
indentUnit: 4, |
||||||
|
indentWithTabs: true, |
||||||
|
enterMode: "keep", |
||||||
|
tabMode: "shift", |
||||||
|
onChange: function(){editor2.save();}, |
||||||
|
onCursorActivity: function() { |
||||||
|
editor2.setLineClass(hlLine, null, null); |
||||||
|
hlLine = editor2.setLineClass(editor2.getCursor().line, null, "activeline"); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
function getSelectedRange2() { |
||||||
|
return { from: editor2.getCursor(true), to: editor2.getCursor(false) }; |
||||||
|
} |
||||||
|
|
||||||
|
function textSelection2(startTag,endTag) { |
||||||
|
var range = getSelectedRange2(); |
||||||
|
editor2.replaceRange(startTag + editor2.getRange(range.from, range.to) + endTag, range.from, range.to) |
||||||
|
editor2.setCursor(range.from.line, range.from.ch + startTag.length); |
||||||
|
} |
||||||
|
|
||||||
|
var hlLine = editor2.setLineClass(0, "activeline"); |
||||||
|
{/literal} |
||||||
|
|
||||||
|
</script> |
||||||
|
|
||||||
|
|
||||||
|
{else} |
||||||
|
|
||||||
|
<div class="widget first"> |
||||||
|
<div class="head"><h5 class="iFrames">{if $smarty.request.id != ''}{#EDITDOC_EDIT_H#}{else}{#EDITDOC_INSERT_H#}{/if}</h5></div> |
||||||
|
|
||||||
|
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm"> |
||||||
|
|
||||||
|
<tr> |
||||||
|
<td>{#EDITDOC_NAME#}</td> |
||||||
|
<td><div class="pr12"><input name="editdoc_name" class="mousetrap" type="text" value="{if $smarty.request.id != ''}{$editdoc_name|escape}{else}{$smarty.request.editdoc_name}{/if}" size="80" /></div></td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>{#EDITDOC_RUBRICS#}</td> |
||||||
|
<td> |
||||||
|
<select name="editdoc_rub" {if $smarty.request.id != ''}disabled="disabled"{/if}> |
||||||
|
{foreach from=$rubs item=rub} |
||||||
|
{if $rub->Id==$editdoc_rub} |
||||||
|
<option value="{$rub->Id}" selected>{$rub->rubric_title}</option> |
||||||
|
{else} |
||||||
|
<option value="{$rub->Id}">{$rub->rubric_title}</option> |
||||||
|
{/if} |
||||||
|
{/foreach} |
||||||
|
</select> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td colspan="2"> |
||||||
|
<input name="submit" type="submit" class="basicBtn" value="{#EDITDOC_SAVE#}" /> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
</table> |
||||||
|
|
||||||
|
</div> |
||||||
|
|
||||||
|
{/if} |
||||||
|
|
||||||
|
</form> |
||||||
|
<br /><br /><br /><br /><br /> |
@ -0,0 +1,120 @@ |
|||||||
|
<script type="text/javascript" language="JavaScript"> |
||||||
|
$(document).ready(function(){ldelim} |
||||||
|
|
||||||
|
$(".AddEditDoc").click( function(e) {ldelim} |
||||||
|
e.preventDefault(); |
||||||
|
var user_group = $('#add_editdoc #editdoc_name').fieldValue(); |
||||||
|
var title = '{#EDITDOC_ADD#}'; |
||||||
|
var text = '{#EDITDOC_INNAME#}'; |
||||||
|
if (user_group == ""){ldelim} |
||||||
|
jAlert(text,title); |
||||||
|
{rdelim}else{ldelim} |
||||||
|
$.alerts._overlay('show'); |
||||||
|
$("#add_editdoc").submit(); |
||||||
|
{rdelim} |
||||||
|
{rdelim}); |
||||||
|
|
||||||
|
{rdelim}); |
||||||
|
</script> |
||||||
|
|
||||||
|
<div class="title"><h5>{#EDITDOC_EDIT#}</h5></div> |
||||||
|
|
||||||
|
<div class="widget" style="margin-top: 0px;"> |
||||||
|
<div class="body"> |
||||||
|
{#EDITDOC_EDIT_TIP#} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div class="breadCrumbHolder module"> |
||||||
|
<div class="breadCrumb module"> |
||||||
|
<ul> |
||||||
|
<li class="firstB"><a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a></li> |
||||||
|
<li><a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a></li> |
||||||
|
<li>{#EDITDOC_EDIT#}</li> |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
|
||||||
|
<div class="widget first"> |
||||||
|
<ul class="tabs"> |
||||||
|
<li class="activeTab"><a href="#tab1">{#EDITDOC_EDIT#}</a></li> |
||||||
|
<li class=""><a href="#tab2">{#EDITDOC_ADD#}</a></li> |
||||||
|
</ul> |
||||||
|
|
||||||
|
<div class="tab_container"> |
||||||
|
<div id="tab1" class="tab_content" style="display: block;"> |
||||||
|
|
||||||
|
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm"> |
||||||
|
<col width="20"> |
||||||
|
<col> |
||||||
|
<col width="150"> |
||||||
|
<col width="20"> |
||||||
|
<col width="20"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<td>{#EDITDOC_ID#}</td> |
||||||
|
<td>{#EDITDOC_NAME#}</td> |
||||||
|
<td>{#EDITDOC_TAG#}</td> |
||||||
|
<td colspan="2">{#EDITDOC_ACTIONS#}</td> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
|
||||||
|
<tbody> |
||||||
|
{if $editdocs} |
||||||
|
|
||||||
|
{foreach from=$editdocs item=editdoc} |
||||||
|
<tr> |
||||||
|
<td>{$editdoc->id}</td> |
||||||
|
<td> |
||||||
|
<a class="topDir" title="{#EDITDOC_EDIT_HINT#}" href="index.php?do=modules&action=modedit&mod=editdoc&moduleaction=edit&cp={$sess}&id={$editdoc->id}"><strong>{$editdoc->editdoc_name|escape}</a></strong> |
||||||
|
<br /> |
||||||
|
<span class="date_text dgrey"> |
||||||
|
{foreach from=$rubs item=rub} |
||||||
|
{if $rub->Id==$editdoc->editdoc_rub} |
||||||
|
({$rub->rubric_title}) |
||||||
|
{/if} |
||||||
|
{/foreach} |
||||||
|
</span> |
||||||
|
</td> |
||||||
|
<td> |
||||||
|
<div class="pr12"><input name="textfield" type="text" readonly style="width: 150px;" value="[mod_editdoc:{$editdoc->id}]" /></div> |
||||||
|
</td> |
||||||
|
<td align="center"> |
||||||
|
<a class="topleftDir icon_sprite ico_edit" title="{#EDITDOC_EDIT_HINT#}" href="index.php?do=modules&action=modedit&mod=editdoc&moduleaction=edit&cp={$sess}&id={$editdoc->id}"></a> |
||||||
|
</td> |
||||||
|
<td align="center"> |
||||||
|
<a class="topleftDir ConfirmDelete icon_sprite ico_delete" title="{#EDITDOC_DELETE_HINT#}" dir="{#EDITDOC_DELETE_HINT#}" name="{#EDITDOC_DEL_HINT#}" href="index.php?do=modules&action=modedit&mod=editdoc&moduleaction=del&cp={$sess}&id={$editdoc->id}"></a> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
{/foreach} |
||||||
|
|
||||||
|
{else} |
||||||
|
<tr> |
||||||
|
<td colspan="9"> |
||||||
|
<ul class="messages"> |
||||||
|
<li class="highlight yellow">{#EDITDOC_NO_ITEMS#}</li> |
||||||
|
</ul> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
{/if} |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
|
||||||
|
</div> |
||||||
|
|
||||||
|
<div id="tab2" class="tab_content" style="display: none;"> |
||||||
|
<form id="add_editdoc" method="post" action="index.php?do=modules&action=modedit&mod=editdoc&moduleaction=new&cp={$sess}" class="mainForm"> |
||||||
|
<div class="rowElem"> |
||||||
|
<label>{#EDITDOC_NAME#}</label> |
||||||
|
<div class="formRight"><input name="editdoc_name" type="text" id="editdoc_name" value="" placeholder="{#EDITDOC_NAME#}" style="width: 400px"> |
||||||
|
<input type="button" class="basicBtn AddEditDoc" value="{#EDITDOC_BUTTON_ADD#}" /> |
||||||
|
</div> |
||||||
|
<div class="fix"></div> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="fix"></div> |
||||||
|
</div> |
Loading…
Reference in new issue