issue 46 Validator apply communication module.

standalone method apply validator.
Auto Form generation error in Template engine is fixed


git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8482 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2011-06-15 07:48:45 +00:00
parent 11815412dc
commit 8f7335c776
24 changed files with 141 additions and 41 deletions

View file

@ -235,6 +235,7 @@
if($xml_info->action->{$this->act}) {
$forward->module = $module;
$forward->type = $xml_info->action->{$this->act}->type;
$forward->ruleset = $xml_info->action->{$this->act}->ruleset;
$forward->act = $this->act;
}
}
@ -247,6 +248,7 @@
if($forward->module && $forward->type && $forward->act && $forward->act == $this->act) {
$kind = strpos(strtolower($forward->act),'admin')!==false?'admin':'';
$type = $forward->type;
$ruleset = $forward->ruleset;
$tpl_path = $oModule->getTemplatePath();
$orig_module = $oModule;
@ -290,10 +292,11 @@
}
}
//TODO ruleset check...
// ruleset check...
if(!empty($ruleset))
{
$rulesetFile = $oModuleModel->getValidatorFilePath($this->module, $ruleset);
$rulesetModule = $forward->module ? $forward->module : $this->module;
$rulesetFile = $oModuleModel->getValidatorFilePath($rulesetModule, $ruleset);
if(!empty($rulesetFile))
{
$Validator = new Validator($rulesetFile);

View file

@ -188,7 +188,7 @@
$buff = preg_replace_callback('!<\!--%load_js_plugin\(\"([^\"]*?)\"\)-->!is', array($this, '_compileLoadJavascriptPlugin'), $buff);
// form auto generation
$buff = preg_replace_callback('/(<form.*?>)(.*)(<\/form>)/is', array($this, '_compileFormAuthGeneration'), $buff);
$buff = preg_replace_callback('/(<form[^>].*?>)(.*?)(<\/form>)/is', array($this, '_compileFormAuthGeneration'), $buff);
// replace variables
$buff = preg_replace_callback('/\{[^@^ ]([^\{\}\n]+)\}/i', array($this, '_compileVarToContext'), $buff);

View file

@ -242,6 +242,7 @@ $lang->success_reset = 'Reset successfully';
$lang->success_leaved = 'All member data has been deleted completely.';
$lang->success_saved = 'Saved successfully';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'Could not be deleted';
$lang->fail_to_move = 'Could not be moved';

View file

@ -248,6 +248,7 @@ $lang->success_reset = 'Reajustado con éxito';
$lang->success_leaved = 'Abandonado con éxito';
$lang->success_saved = 'Guardado correctamente';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'No puede ser borrado';
$lang->fail_to_move = 'No puede ser movido';
@ -327,4 +328,4 @@ $lang->filter->invalid_number = 'Sólo puede introducir los dígitos numéricos
$lang->security_warning_embed = "Due to security concern, administrators are not allowed to view embedded items.<BR /> To view them, please use another non-administrator ID.";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -242,6 +242,7 @@ $lang->success_reset = 'Restauré avec succès';
$lang->success_leaved = 'Toutes vos informations sont complètement supprimés';
$lang->success_saved = 'Conservé avec succès';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'N\'a pas pu être supprimé.';
$lang->fail_to_move = 'N\'a pas pu être bougé';
@ -318,4 +319,4 @@ $lang->filter->invalid_alpha = "La format de %s n\'est pas convenable. Entrez se
$lang->filter->invalid_alpha_number = "La format de %s n\'est pas convenable. Entrez seulement des lettres d\'alphabet ou des chiffres.";
$lang->filter->invalid_number = "La format de %s n\'est pas convenable. Entrez seulement des chiffres.";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -242,6 +242,7 @@ $lang->success_reset = 'Reset';
$lang->success_leaved = 'Alle Mitglieder Daten wurden komplett gestrichen. ';
$lang->success_saved = 'erfolgreich gespeichert ';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'konnte nicht gelöscht werden';
$lang->fail_to_move = 'konnte nicht verschoben werden';
@ -320,4 +321,4 @@ $lang->filter->invalid_number = "Das Format von% s ist ungültig. Bitte geben Si
$lang->security_warning_embed = "Due to security concern, administrators are not allowed to view embedded items.<BR /> To view them, please use another non-administrator ID.";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -243,6 +243,7 @@ $lang->success_reset = '初期化しました。';
$lang->success_leaved = '退会しました。';
$lang->success_saved = '保存しました。';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = '削除に失敗しました。';
$lang->fail_to_move = '移動に失敗しました。';
@ -322,4 +323,4 @@ $lang->filter->invalid_number = '%sの形式が正しくありません。半角
$lang->security_warning_embed = "保安のため、管理者IDではEMBEDを見ることが出来ません。<br />他のIDでログインして下さい。";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -228,6 +228,7 @@ $lang->success_sended = '발송 되었습니다.';
$lang->success_reset = '초기화 되었습니다.';
$lang->success_leaved = '탈퇴 되었습니다.';
$lang->success_saved = '저장 되었습니다.';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = '삭제 실패하였습니다.';
$lang->fail_to_move = '이동 실패하였습니다.';
$lang->failed_voted = '추천 하실 수 없습니다.';

View file

@ -243,6 +243,7 @@ $lang->success_reset = 'Reset';
$lang->success_leaved = 'Гишүүнээс гарсан';
$lang->success_saved = 'Хадгалагдсан';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'Устгалт амжилтгүй боллоо';
$lang->fail_to_move = 'Шилжилт амжилтгүй боллоо';
@ -317,4 +318,4 @@ $lang->filter->invalid_number = '%s-ын хэлбэр буруу байна. З
$lang->security_warning_embed = "Due to security concern, administrators are not allowed to view embedded items.<BR /> To view them, please use another non-administrator ID.";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -243,6 +243,7 @@ $lang->success_reset = 'Сброшено успешно';
$lang->success_leaved = 'Пользователь удален';
$lang->success_saved = 'Сохранено успешно';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'Не может быть удалено';
$lang->fail_to_move = 'Перемещение невозможно';
@ -321,4 +322,4 @@ $lang->filter->invalid_number = "The format of %s is invalid. Please input numbe
$lang->security_warning_embed = "Due to security concern, administrators are not allowed to view embedded items.<BR /> To view them, please use another non-administrator ID.";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -242,6 +242,7 @@ $lang->success_reset = 'Başarıyla Tekrar Kuruldu.';
$lang->success_leaved = 'Tüm üye verileri tamamen silindi.';
$lang->success_saved = 'Başarıyla Kaydedildi.';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'Silinemedi';
$lang->fail_to_move = 'Taşınamadı';
@ -320,4 +321,4 @@ $lang->filter->invalid_number = "%s biçimi geçersiz . Lütfen sadece numaralar
$lang->security_warning_embed = "Güvenlik nedeniyle, yöneticiler yerleşik öğeleri görüntülemeye yetkili değildirler.<BR /> Yerleşik öğeleri görüntüleyebilmek için, lütfen yönetici olmayan bir hesap kullanın.";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -235,6 +235,7 @@ $lang->success_reset = 'Đã thiết lập lại thành công.';
$lang->success_leaved = 'Đã xóa tất cả các thành viên.';
$lang->success_saved = 'Đã lưu thành công.';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = 'Không thể xóa.';
$lang->fail_to_move = 'Không thể chuyển.';
@ -310,4 +311,4 @@ $lang->filter->invalid_number = "Định dạng của %s không hợp lệ. Ch
$lang->security_warning_embed = "Vì vấn đề bảo mật, nên Administrator không được phép xem các mục đã nhúng mã.<BR /> Để xem được chúng, hãy sử dụng một tên truy cập khác không có quyền quản trị.";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -243,6 +243,7 @@ $lang->success_reset = '初始化成功 !';
$lang->success_leaved = '注销成功!';
$lang->success_saved = '保存成功!';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = '删除成功!';
$lang->fail_to_move = '移动成功!';
@ -321,4 +322,4 @@ $lang->filter->invalid_number = '%s只能输入数字';
$lang->security_warning_embed = "由于安全问题不允许用系统管理员ID操作embed对象请使用其他拥有管理权限的ID操作。";
$lang->msg_pc_to_mobile = '이 페이지는 모바일 보기가 있습니다. 모바일 보기로 이동하시겠습니까?';
?>
?>

View file

@ -243,6 +243,7 @@ $lang->success_reset = '重設成功!';
$lang->success_leaved = '成功退出!';
$lang->success_saved = '儲存成功!';
$lang->fail_to_registed = '등록하지 못하였습니다.';
$lang->fail_to_delete = '刪除成功!';
$lang->fail_to_move = '移動成功!';
@ -321,4 +322,4 @@ $lang->filter->invalid_number = '%s只能輸入數字';
$lang->security_warning_embed = "由於安全的關係,管理員無法檢視嵌入的物件。<BR /> 請使用其他非管理員帳號檢視。";
$lang->msg_pc_to_mobile = '此頁面有手機頁面,要移至手機頁面嗎?';
?>
?>

View file

@ -980,4 +980,21 @@
}
}
function alertScript($msg)
{
if(!$msg) return;
echo '<script type="text/javascript">alert("'.$msg.'");</script>';
}
function closePopupScript()
{
echo '<script type="text/javascript">window.close();</script>';
}
function reload($isOpener = false)
{
$reloadScript = $isOpener ? 'window.opener.location.reload()' : 'document.location.reload()';
echo '<script type="text/javascript">'.$reloadScript.'</script>';
}
?>

View file

@ -27,7 +27,12 @@
$oModuleController = &getController('module');
$output = $oModuleController->insertModuleConfig('communication',$args);
return $output;
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispCommunicationAdminConfig');
header('location:'.$returnUrl);
return;
}
else return $output;
}
}

View file

@ -27,6 +27,11 @@
$output = executeQuery('communication.updateAllowMessage', $args);
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', 'dispCommunicationMessages', 'message_type', Context::get('message_type'));
header('location:'.$returnUrl);
return;
}
return $output;
}
@ -76,6 +81,12 @@
$oMail->send();
}
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
global $lang;
alertScript($lang->success_sended);
closePopupScript();
exit;
}
return $output;
}
@ -195,10 +206,10 @@
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
// check variables
$message_srl_list = trim(Context::get('message_srl_list'));
if(!$message_srl_list) return new Object(-1, 'msg_cart_is_null');
if(!Context::get('message_srl_list')) return new Object(-1, 'msg_cart_is_null');
$message_srl_list = explode('|@|', $message_srl_list);
$message_srl_list = Context::get('message_srl_list');
if(!is_array($message_srl_list)) $message_srl_list = explode('|@|', trim($message_srl_list));
if(!count($message_srl_list)) return new Object(-1, 'msg_cart_is_null');
$message_type = Context::get('message_type');
@ -223,6 +234,12 @@
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', 'dispCommunicationMessages', 'message_type', Context::get('message_type'));
header('location:'.$returnUrl);
return;
}
}
/**
@ -246,6 +263,13 @@
$this->add('member_srl', $target_srl);
$this->setMessage('success_registed');
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
global $lang;
alertScript($lang->success_registed);
closePopupScript();
exit;
}
}
/**
@ -279,6 +303,11 @@
if(!$output->toBool()) return $output;
$this->setMessage('success_moved');
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', 'dispCommunicationFriend');
header('location:'.$returnUrl);
return;
}
}
/**
@ -311,6 +340,11 @@
if(!$output->toBool()) return $output;
$this->setMessage('success_deleted');
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', 'dispCommunicationFriend');
header('location:'.$returnUrl);
return;
}
}
/**
@ -336,9 +370,27 @@
$msg_code = 'success_registed';
}
if(!$output->toBool()) return $output;
$this->setMessage($msg_code);
if(!$output->toBool())
{
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
global $lang;
alertScript($lang->fail_to_registed);
closePopupScript();
exit;
}
else return $output;
}
else
{
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
global $lang;
alertScript($lang->success_registed);
reload(true);
closePopupScript();
exit;
}
else $this->setMessage($msg_code);
}
}
/**

View file

@ -12,21 +12,21 @@
<action name="dispCommunicationAddFriendGroup" type="view" standalone="true" />
<action name="procCommunicationUpdateAllowMessage" type="controller" standalone="true" />
<action name="procCommunicationSendMessage" type="controller" standalone="true" />
<action name="procCommunicationSendMessage" type="controller" standalone="true" ruleset="sendMessage" />
<action name="procCommunicationStoreMessage" type="controller" standalone="true" />
<action name="procCommunicationDeleteMessage" type="controller" standalone="true" />
<action name="procCommunicationDeleteMessages" type="controller" standalone="true" />
<action name="procCommunicationAddFriend" type="controller" standalone="true" />
<action name="procCommunicationMoveFriend" type="controller" standalone="true" />
<action name="procCommunicationDeleteFriend" type="controller" standalone="true" />
<action name="procCommunicationAddFriend" type="controller" standalone="true" ruleset="addFriend" />
<action name="procCommunicationMoveFriend" type="controller" standalone="true" ruleset="deleteCheckedFriend" />
<action name="procCommunicationDeleteFriend" type="controller" standalone="true" ruleset="deleteCheckedFriend" />
<action name="procCommunicationAddFriendGroup" type="controller" standalone="true" />
<action name="procCommunicationAddFriendGroup" type="controller" standalone="true" ruleset="addFriendGroup" />
<action name="procCommunicationRenameFriendGroup" type="controller" standalone="true" />
<action name="procCommunicationDeleteFriendGroup" type="controller" standalone="true" />
<action name="getCommunicationAdminColorset" type="model" standalone="true" />
<action name="procCommunicationAdminInsertConfig" type="controller" standalone="true" />
<action name="procCommunicationAdminInsertConfig" type="controller" standalone="true" ruleset="insertConfig" />
<action name="dispCommunicationAdminConfig" type="view" standalone="true" admin_index="true" />
</actions>
</module>

View file

@ -5,7 +5,9 @@
<h3 class="xeAdmin">{$lang->cmd_add_friend}</h3>
</div>
<form action="./" method="get" onsubmit="return procFilter(this, add_friend)">
<p class="xe_validator_error">{$XE_VALIDATOR_ERROR}</p>
<form ruleset="addFriend" action="./" method="post">
<input type="hidden" name="act" value="procCommunicationAddFriend" />
<input type="hidden" name="target_srl" value="{$target_info->member_srl}" />
<div id="popBody">

View file

@ -1,4 +1,3 @@
<!--%import("filter/add_friend_group.xml")-->
<!--%import("js/communication.js")-->
<div id="popHeader">
@ -10,7 +9,9 @@
<!--@end-->
</h3>
</div>
<form action="./" method="get" onsubmit="return procFilter(this, add_friend_group)">
<p class="xe_validator_error">{$XE_VALIDATOR_ERROR}</p>
<form ruleset="addFriendGroup" action="./" method="post">
<input type="hidden" name="act" value="procCommunicationAddFriendGroup" />
<input type="hidden" name="friend_group_srl" value="{$friend_group->friend_group_srl}" />
<div id="popBody">

View file

@ -1,6 +1,5 @@
<!--#include("./common_header.html")-->
<!--%import("filter/delete_checked_friend.xml")-->
<!--%import("filter/delete_friend_group.xml")-->
<!--%import("filter/move_friend.xml")-->
@ -8,7 +7,10 @@
<h3>{$member_title = $lang->cmd_view_friend } ({$total_count})</h3>
<form id="fo_friend_list" action="./" method="get" onsubmit="return procFilter(this, delete_checked_friend)">
<p class="xe_validator_error">{$XE_VALIDATOR_ERROR}</p>
<!--form id="fo_friend_list" action="./" method="get" onsubmit="return procFilter(this, delete_checked_friend)"-->
<form ruleset="deleteCheckedFriend" id="fo_friend_list" action="./" method="post">
<input type="hidden" name="act" value="procCommunicationDeleteFriend" />
<div class="setupGroup">
<select name="friend_group_list" id="friend_group_list">
@ -51,8 +53,8 @@
<option value="{$val->friend_group_srl}">{$val->title}</option>
<!--@end-->
</select>
<a href="#" onclick="doMoveFriend();return false;" class="small button blue"><span>{$lang->cmd_move}</span></a>
<span class="small button red"><input type="submit" value="{$lang->cmd_delete}" /></span>
<button type="submit" name="act" value="procCommunicationMoveFriend">{$lang->cmd_move}</button>
<button type="submit" name="act" value="procCommunicationDeleteFriend">{$lang->cmd_delete}</button>
<a href="{getUrl('act','','message_type','','friend_gruop_srl','')}" class="small button"><span>{$lang->cmd_back}</span></a>
</th>
</tr>

View file

@ -3,7 +3,9 @@
<!--%import("filter/update_allow_message.xml")-->
<div class="xeMessages">
<form action="./" method="POST" onsubmit="return procFilter(this, update_allow_message)" class="setupMessage">
<form action="./" method="POST" class="setupMessage">
<input type="hidden" name="act" value="procCommunicationUpdateAllowMessage" />
<input type="hidden" name="message_type" value="{$message_type}" />
<select name="allow_message">
<!--@foreach($lang->allow_message_type as $key => $val)-->
<option value="{$key}" <!--@if($logged_info->allow_message == $key)-->selected="selected"<!--@end-->>{$val}</option>
@ -42,7 +44,7 @@
</td>
</tr>
<tr>
<th class="button">
<th class="button">this
<!--@if($message->message_type != "S" && $message->member_srl != $logged_info->member_srl)-->
<a href="#" onclick="doSendMessage('{$message->sender_srl}','{$message->message_srl}');return false;" class="button black strong"><span>{$lang->cmd_reply_message}</span></a>
<!--@end-->
@ -55,7 +57,9 @@
</table>
<!--@end-->
<form action="./" method="get" onsubmit="return procFilter(this, delete_checked_message)" id="fo_message_list">
<form action="./" method="get" id="fo_message_list">
<input type="hidden" name="act" value="procCommunicationDeleteMessages" />
<input type="hidden" name="message_type" value="{$message_type}" />
<table cellspacing="0" class="rowTable">
@ -80,7 +84,7 @@
<!--@foreach($message_list as $no => $val)-->
<tr>
<td class="wide">
<input name="message_srl_list" type="checkbox" value="{$val->message_srl}" />
<input name="message_srl_list[]" type="checkbox" value="{$val->message_srl}" />
<!--@if($val->readed=='Y')-->
<a href="{getUrl('message_srl',$val->message_srl)}">{$val->title}</a>
<!--@else-->

View file

@ -1,11 +1,12 @@
<!--%import("filter/send_message.xml")-->
<!--%import("js/communication.js")-->
<div id="popHeader" class="wide">
<h3 class="xeAdmin">{$lang->cmd_send_message}</h3>
</div>
<form action="./" method="get" onsubmit="return procFilter(this, send_message)">
<p class="xe_validator_error">{$XE_VALIDATOR_ERROR}</p>
<form ruleset="sendMessage" action="./" method="get">
<input type="hidden" name="act" value="procCommunicationSendMessage" />
<input type="hidden" name="content" value="{htmlspecialchars($source_message->content)}" />
<input type="hidden" name="receiver_srl" value="{$receiver_info->member_srl}" />

View file

@ -1,12 +1,13 @@
<!--%import("js/communication_admin.js")-->
<!--%import("../../editor/tpl/js/editor_module_config.js",optimized=false)-->
<!--%import("filter/insert_config.xml")-->
<h3 class="xeAdmin">{$lang->communication} <span class="gray">{$lang->cmd_management}</span></h3>
<div class="infoText">{nl2br($lang->about_communication)}</div>
<form action="./" method="get" onsubmit="return procFilter(this, insert_config)">
<p class="xe_validator_error">{$XE_VALIDATOR_ERROR}</p>
<form ruleset="insertConfig" action="./" method="post">
<input type="hidden" name="act" value="procCommunicationAdminInsertConfig">
<table cellspacing="0" class="rowTable">
<tr>