#450. 애드온에서 활성화 대상 모듈 선택 기능 추가. 애드온에서 권한 대상을 선택하는 것은 불필요하다고 판단. 관련하여 에디터 컴포넌트에서도 대상 모듈을 선택할 수 있도록 기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4123 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-04-21 04:58:18 +00:00
parent fb08c61fce
commit 1bbc3c1b9c
29 changed files with 184 additions and 48 deletions

View file

@ -41,6 +41,7 @@
unset($args->module);
unset($args->act);
unset($args->addon_name);
unset($args->body);
$this->doSetup($addon_name, $args);
@ -55,18 +56,24 @@
$buff = "";
$oAddonModel = &getAdminModel('addon');
$addon_list = $oAddonModel->getInsertedAddons();
foreach($addon_list as $addon=> $val) {
foreach($addon_list as $addon => $val) {
if($val->is_used != 'Y' || !is_dir('./addons/'.$addon) ) continue;
$extra_vars = unserialize($val->extra_vars);
$mid_list = $extra_vars->mid_list;
if(!is_array($mid_list)||!count($mid_list)) $mid_list = null;
$mid_list = base64_encode(serialize($mid_list));
if($val->extra_vars) {
unset($extra_vars);
$extra_vars = base64_encode($val->extra_vars);
}
$buff .= sprintf(' if(file_exists("./addons/%s/%s.addon.php")) { unset($addon_info); $addon_info = unserialize(base64_decode("%s")); $addon_path = "./addons/%s/"; @include("./addons/%s/%s.addon.php"); }', $addon, $addon, $extra_vars, $addon, $addon, $addon);
$buff .= sprintf(' $_ml = unserialize(base64_decode("%s")); if(file_exists("./addons/%s/%s.addon.php") && (!is_array($_ml) || in_array($_m, $_ml))) { unset($addon_info); $addon_info = unserialize(base64_decode("%s")); $addon_path = "./addons/%s/"; @include("./addons/%s/%s.addon.php"); }', $mid_list, $addon, $addon, $extra_vars, $addon, $addon, $addon);
}
$buff = sprintf('<?php if(!defined("__ZBXE__"))exit(); %s ?>', $buff);
$buff = sprintf('<?php if(!defined("__ZBXE__")) exit(); $_m = Context::get(\'mid\'); %s ?>', $buff);
debugPrint($buff);
FileHandler::writeFile($this->cache_file, $buff);
}
@ -106,6 +113,7 @@
* @brief 애드온 설정
**/
function doSetup($addon, $extra_vars) {
if($extra_vars->mid_list) $extra_vars->mid_list = explode('|@|', $extra_vars->mid_list);
$args->addon = $addon;
$args->extra_vars = serialize($extra_vars);
return executeQuery('addon.updateAddon', $args);

View file

@ -110,14 +110,18 @@
$addon_info->history[] = $obj;
}
// 확장변수
// DB에 설정된 내역을 가져온다
$db_args->addon = $addon;
$output = executeQuery('addon.getAddonInfo',$db_args);
$extra_vals = unserialize($output->data->extra_vars);
if($extra_vals->mid_list) {
$addon_info->mid_list = $extra_vals->mid_list;
} else {
$addon_info->mid_list = array();
}
if($xml_obj->extra_vars) {
// DB에 설정된 내역을 가져온다
$db_args->addon = $addon;
$output = executeQuery('addon.getAddonInfo',$db_args);
$extra_vals = unserialize($output->data->extra_vars);
// 확장변수를 정리
if(!is_array($xml_obj->extra_vars->var)) $extra_vars[] = $xml_obj->extra_vars->var;
else $extra_vars = $xml_obj->extra_vars->var;

View file

@ -41,8 +41,22 @@
// mid 목록을 가져옴
$oModuleModel = &getModel('module');
// 모듈 카테고리 목록을 구함
$module_categories = $oModuleModel->getModuleCategories();
$mid_list = $oModuleModel->getMidList();
Context::set('mid_list', $mid_list);
// module_category와 module의 조합
if($module_categories) {
foreach($mid_list as $module_srl => $module) {
$module_categories[$module->module_category_srl]->list[$module_srl] = $module;
}
} else {
$module_categories[0]->list = $mid_list;
}
Context::set('mid_list',$module_categories);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');

View file

@ -11,5 +11,6 @@
$lang->addon_maker = 'Author of this Addon';
$lang->addon_history = 'Addon History';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = 'Addon is for controlling actions rather than displaying the HTML results.<br />Simply by toggling any addons you want on or off, you can use very useful functions to administer your website';
?>

View file

@ -11,5 +11,6 @@
$lang->addon_maker = 'Autor de Addon';
$lang->addon_history = 'Historia de Addon ';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = 'Addon is para controlar las acciones y no para mostrar el resultado en HTML.<br /> Sólo con activar o desactivar el addon que desee, podrá obtener funciones útiles para la administración de tu sitio web.';
?>

View file

@ -11,6 +11,7 @@
$lang->addon_maker = 'L\'Auteur de la Compagnon';
$lang->addon_history = 'L\'Histoire de la Compagnon';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = 'La Compagnon, c\'est pour contrôler les actions plutôt d\'imprimer des résultats de HTML.<br/>Par la Touche à Bascule des compagnons que vous voulez faire marcher ou arrêter, vous pouvez appliquer les fonctions très utiles à administrer votre site web.';
?>

View file

@ -11,5 +11,6 @@
$lang->addon_maker = 'アドオン作者';
$lang->addon_history = '変更内容';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = 'アドオンは、HTMLの出力をコントロールするというより動作を制御する役割をします。お好みのアドオンを「使用/未使用」に設定するだけでサイトの運営に有用な機能が利用できます。';
?>

View file

@ -11,5 +11,6 @@
$lang->addon_maker = '애드온 제작자';
$lang->addon_history = '변경 사항 ';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = '애드온은 html결과물을 출력하기 보다 동작을 제어하는 역할을 합니다.<br />원하시는 애드온을 on/ off하시는 것만으로 사이트 운영에 유용한 기능을 연동할 수 있습니다.';
?>

View file

@ -11,5 +11,6 @@
$lang->addon_maker = 'Автор аддона';
$lang->addon_history = 'История аддона';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = 'Аддон служит больше для контролирования действий, чем для отображения HTML-результатов.<br />Простым включением/выключением любых аддонов, Вы можете использовать очень полезные функции для администрирования Вашего веб-сайта';
?>

View file

@ -11,5 +11,6 @@
$lang->addon_maker = '插件作者';
$lang->addon_history = '更新纪录 ';
$lang->about_addon_mid = "애드온이 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->about_addon = '插件是加载扩展功能的动作,而不是输出结果组件。<br />启用/禁用插件,为网站提供强大的功能。';
?>

View file

@ -3,7 +3,7 @@
<table name="addons" />
</tables>
<columns>
<column name="is_used" var="is_used" default="Y" />
<column name="is_used" var="is_used" />
<column name="extra_vars" var="extra_vars" />
</columns>
<conditions>

View file

@ -89,13 +89,7 @@
<td><a href="{$val->author->homepage}" onclick="window.open(this.href);return false;">{$val->author->name}</a></td>
<td class="tahoma">{$val->author->date}</td>
<td class="tahoma">{$val->path}</td>
<td>
<!--@if($val->extra_vars)-->
<a href="{getUrl('','module','addon','act','dispAddonAdminSetup','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false" class="blue">{$lang->cmd_setup}</a>
<!--@else-->
&nbsp;
<!--@end-->
</td>
<td><a href="{getUrl('','module','addon','act','dispAddonAdminSetup','selected_addon',$val->addon)}" onclick="popopen(this.href,'addon_info');return false" class="blue">{$lang->cmd_setup}</a></td>
<td>
<!--@if($val->activated)-->
<a href="#" onclick="doToggleAddon('{$val->addon}');return false;" class="blue">{$lang->use}</a>

View file

@ -0,0 +1,4 @@
@charset "utf-8";
.module_category_title { border:1px solid #DDDDDD; margin:10px 5px 5px 0; padding:3px 3px 3px 9px; }
.module_list { margin:0 0 5px 10px; }

View file

@ -7,3 +7,11 @@ function doToggleAddon(addon) {
fo_obj.addon.value = addon;
procFilter(fo_obj, toggle_activate_addon);
}
function toggleSectionCheckBox(obj, id) {
var box_list = xGetElementsByTagName('input', xGetElementById(id));
if(typeof(box_list.length)=='undefined') return;
for(var i in box_list) {
box_list[i].checked = obj.checked;
}
}

View file

@ -1,4 +1,6 @@
<!--%import("filter/setup_addon.xml")-->
<!--%import("css/addon.css")-->
<!--%import("js/addon.js")-->
<div id="popHeadder">
<h3>{$lang->cmd_setup}</h3>
@ -26,12 +28,7 @@
<!--@foreach($addon_info->extra_vars as $id => $var)-->
<tr>
<th scope="row">
{$var->title}
<!--@if($var->type == 'mid_list')-->
<input type="checkbox" onclick="checkboxSelectAll(this.form, '{$var->name}'); return false;" />
<!--@end-->
</th>
<th scope="row">{$var->title}</th>
<td>
<!--@if($var->type == 'text')-->
<input type="text" name="{$var->name}" value="{$var->value}" class="inputTypeText w400" />
@ -45,19 +42,40 @@
<option value="{$val->value}"<!--@if($var->value == $val->value)--> selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
<!--@elseif($var->type == 'mid_list')-->
<!--@foreach($mid_list as $key => $val)-->
<div class="addon_mid_list">
<input type="checkbox" value="{$key}" name="{$var->name}" id="chk_mid_list_{$key}" <!--@if(in_array($key, $var->value))-->checked="checkde" <!--@end-->/>
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
</div>
<!--@end-->
<!--@end-->
<p class="clear">{nl2br($var->description)}</p>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row">
{$lang->module}
<input type="checkbox" onclick="checkboxSelectAll(this.form, 'mid_list'); return false;" />
</th>
<td>
<p>{$lang->about_addon_mid}</p>
<!--@foreach($mid_list as $module_category_srl => $modules)-->
<div class="module_category_title">
<input type="checkbox" onclick="toggleSectionCheckBox(this, 'section_{$module_category_srl}');" />
<!--@if($modules->title)-->
{$modules->title}
<!--@else-->
&nbsp;
<!--@end-->
</div>
<div id="section_{$module_category_srl}">
<!--@foreach($modules->list as $key => $val)-->
<div class="module_list">
<input type="checkbox" value="{$key}" name="mid_list" id="chk_mid_list_{$key}" <!--@if(in_array($key, $addon_info->mid_list))-->checked="checked"<!--@end--> />
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
</div>
<!--@end-->
</div>
<!--@end-->
</td>
</tr>
</table>
</div>
@ -67,5 +85,4 @@
<a href="#" onclick="window.close(); return false;" class="button"><span>{$lang->cmd_close}</span></a>
</div>
</div>
</form>

View file

@ -88,6 +88,7 @@
unset($extra_vars->body);
if($extra_vars->target_group) $extra_vars->target_group = explode('|@|', $extra_vars->target_group);
if($extra_vars->mid_list) $extra_vars->mid_list = explode('|@|', $extra_vars->mid_list);
$args->component_name = $component_name;
$args->extra_vars = serialize($extra_vars);

View file

@ -44,6 +44,25 @@
$group_list = $oMemberModel->getGroups();
Context::set('group_list', $group_list);
// mid 목록을 가져옴
$oModuleModel = &getModel('module');
// 모듈 카테고리 목록을 구함
$module_categories = $oModuleModel->getModuleCategories();
$mid_list = $oModuleModel->getMidList();
// module_category와 module의 조합
if($module_categories) {
foreach($mid_list as $module_srl => $module) {
$module_categories[$module->module_category_srl]->list[$module_srl] = $module;
}
} else {
$module_categories[0]->list = $mid_list;
}
Context::set('mid_list',$module_categories);
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('setup_component');
$this->setLayoutFile("popup_layout");

View file

@ -390,6 +390,7 @@
if(!is_array($db_list)) $db_list = array($db_list);
foreach($db_list as $component) {
if(in_array($component->component_name, array('colorpicker_text','colorpicker_bg'))) continue;
$component_name = $component->component_name;
if(!$component_name) continue;
@ -421,6 +422,11 @@
if(!$is_granted) continue;
}
// 대상 모듈이 있으면 체크
if($extra_vars->mid_list && count($extra_vars->mid_list) ) {
if(!in_array(Context::get('mid'), $extra_vars->mid_list)) continue;
}
// 에디터 컴포넌트의 설정 정보를 체크
if($xml_info->extra_vars) {
foreach($xml_info->extra_vars as $key => $val) {
@ -474,6 +480,8 @@
$xml_info->target_group = array();
$xml_info->mid_list = array();
if($component->extra_vars) {
$extra_vars = unserialize($component->extra_vars);
@ -482,6 +490,12 @@
unset($extra_vars->target_group);
}
if($extra_vars->mid_list) {
$xml_info->mid_list = $extra_vars->mid_list;
unset($extra_vars->mid_list);
}
if($xml_info->extra_vars) {
foreach($xml_info->extra_vars as $key => $val) {
$xml_info->extra_vars->{$key}->value = $extra_vars->{$key};

View file

@ -16,7 +16,8 @@
$lang->component_grant = "Permission Setting";
$lang->about_component = "About component";
$lang->about_component_grant = "Only selected groups are allowed to use. (Everyone can use it when mode is disabled)";
$lang->about_component_grant = 'You may set the permission of using expanded components of editor.<br />(Everyone would have permission if nothing checked)';
$lang->about_component_mid = "에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->msg_component_is_not_founded = 'Cannot find editor component %s';
$lang->msg_component_is_inserted = 'Selected component is already inserted';
@ -40,7 +41,6 @@
$lang->about_editor_skin = 'You may select the skin of editor.';
$lang->about_upload_file_grant = 'You may set the permission of file attaching. (Everyone would have permission if nothing checked)';
$lang->about_default_component_grant = 'You may set the permission of using default components of editor. (Everyone would have permission if nothing checked)';
$lang->about_component_grant = 'You may set the permission of using expanded components of editor. (Everyone would have permission if nothing checked)';
$lang->about_editor_height = 'You may set the height of editor.';
$lang->about_editor_height_resizable = 'Permit to resize the height of editor.';
$lang->about_enable_html_grant = 'You may give the permission of using HTML';

View file

@ -16,7 +16,8 @@
$lang->component_grant = "Ajuste de las atribuciones";
$lang->about_component = "Presentación del componente";
$lang->about_component_grant = "Sólo los grupos seleccionados pueden ser usados (Si desactiva el modo se puede usar todos)";
$lang->about_component_grant = 'Usted puede configurar el permiso de utilizar la ampliación de los componentes de editor.<br /> (Todo el mundo tendría permiso si no comprobado)';
$lang->about_component_mid = "에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->msg_component_is_not_founded = 'No se puede encontrar el componente del editor %s';
$lang->msg_component_is_inserted = 'El componente seleccionado ya esta insertado';
@ -40,7 +41,6 @@
$lang->about_editor_skin = 'Usted puede seleccionar la piel del editor.';
$lang->about_upload_file_grant = 'Usted puede configurar el permiso de archivo adjunto. (Todo el mundo tendría permiso si no comprobado)';
$lang->about_default_component_grant = 'Usted puede configurar el permiso de uso de los componentes de editor por defecto. (Todo el mundo tendría permiso si no comprobado)';
$lang->about_component_grant = 'Usted puede configurar el permiso de utilizar la ampliación de los componentes de editor. (Todo el mundo tendría permiso si no comprobado)';
$lang->about_editor_height = 'Usted puede configurar la altura del editor.';
$lang->about_editor_height_resizable = 'Permiso para cambiar el tamaño de la altura del editor.';
$lang->about_enable_html_grant = 'Usted puede dar el permiso de uso de HTML';

View file

@ -16,7 +16,8 @@
$lang->component_grant = "Configuration de l'Autorisation";
$lang->about_component = "Sur le Composant";
$lang->about_component_grant = "Le groupe sélectionné peut seulement utiliser. (Tout le monde peut utiliser quand le mode est invalid)";
$lang->about_component_grant = 'Vous pouvez configurer l\'autorisation à utiliser des composants tendus de l\'Editeur.<br /> (Tout le monde aura l\'autorisation si vous ne cochez rien)';
$lang->about_component_mid = "에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->msg_component_is_not_founded = 'Ne peut pas trouver Composant %s';
$lang->msg_component_is_inserted = 'Composant choisi est déjà inséré';
@ -40,7 +41,6 @@
$lang->about_editor_skin = 'Vous pouvez choisir le thême de l\'Editeur.';
$lang->about_upload_file_grant = 'Vous pouvez configurer l\'autorisation à télécharger(attacher) les fichiers. (Tout le monde aura l\'autorisation si vous ne cochez rien)';
$lang->about_default_component_grant = 'Vous pouvez configurer l\'autorisation à utiliser les Composants Par Défaut de l\'Editeur. (Tout le monde aura l\'autorisation si vous ne cochez rien)';
$lang->about_component_grant = 'Vous pouvez configurer l\'autorisation à utiliser des composants tendus de l\'Editeur. (Tout le monde aura l\'autorisation si vous ne cochez rien)';
$lang->about_editor_height = 'Vous pouvez configurer l\'hauteur de l\'Editeur.';
$lang->about_editor_height_resizable = 'Autoriser à remettre l\'hauteur de l\'Editeur.';
$lang->about_enable_html_grant = 'Vous pouvez autoriser à utiliser HTML';

View file

@ -16,7 +16,8 @@
$lang->component_grant = "権限設定";
$lang->about_component = "コンポーネント情報";
$lang->about_component_grant = "選択されたグループでのみ使用できます(すべて解除時はすべて使用可能)。";
$lang->about_component_grant = '基本コンポーネント以外の拡張コンポーネント機能が利用可能な権限の設定が出来ます。<br />(選択なしの場合、誰でも利用可能)';
$lang->about_component_mid = "에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->msg_component_is_not_founded = '%s エディターのコンポーネントが見つかりません。';
$lang->msg_component_is_inserted = '選択されたコンポーネントは既に入力されています。';
@ -40,7 +41,6 @@
$lang->about_editor_skin = 'エディターのスキンの選択が出来ます。';
$lang->about_upload_file_grant = 'ファイル添付可能な権限の設定が出来ます。(選択なしの場合、誰でも添付が可能)';
$lang->about_default_component_grant = 'エディターでの基本コンポーネントを使用可能な権限の設定が出来ます。(選択なしの場合、誰でも利用可能)';
$lang->about_component_grant = '基本コンポーネント以外の拡張コンポーネント機能が利用可能な権限の設定が出来ます。(選択なしの場合、誰でも利用可能)';
$lang->about_editor_height = 'エディターの基本高さを設定します。';
$lang->about_editor_height_resizable = 'エディターの高さを直接変更出来るようにします。';
$lang->about_enable_html_grant = 'HTML編集権限を付与します。';

View file

@ -16,7 +16,8 @@
$lang->component_grant = "권한설정";
$lang->about_component = "컴포넌트 소개";
$lang->about_component_grant = "선택된 그룹만 사용 가능합니다. (모드 해제시 모두 사용 가능)";
$lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다.<br /> (모두 해제시 아무나 사용 가능합니다)';
$lang->about_component_mid = "에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->msg_component_is_not_founded = '%s 에디터 컴포넌트를 찾을 수 없습니다';
$lang->msg_component_is_inserted = '선택하신 컴포넌트는 이미 입력되어 있습니다';
@ -40,7 +41,6 @@
$lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다';
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)';
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)';
$lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)';
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다';
$lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다';
$lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.';

View file

@ -16,7 +16,8 @@
$lang->component_grant = "Настройки прав доступа";
$lang->about_component = "О компоненте";
$lang->about_component_grant = "Только выбранным группам позволено использование. (Каждый может использовать его, если режим выключен)";
$lang->about_component_grant = "Только выбранным группам позволено использование.<br /> (Каждый может использовать его, если режим выключен)";
$lang->about_component_mid = "에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->msg_component_is_not_founded = 'Невозможно найти компонент редактора %s';
$lang->msg_component_is_inserted = 'Выбранный компонент уже присутствует';
@ -40,7 +41,6 @@
$lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다';
$lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)';
$lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)';
$lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)';
$lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다';
$lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다';
$lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.';

View file

@ -16,7 +16,8 @@
$lang->component_grant = "权限设置";
$lang->about_component = "组件简介";
$lang->about_component_grant = "指定的用户群才可以使用。 (解除时所有用户群都可以使用)";
$lang->about_component_grant = '可以设置除默认组件外的扩展组件使用权限<br />(全部解除时任何用户都可以使用)。';
$lang->about_component_mid = "에디터 컴포넌트가 사용될 대상을 지정할 수 있습니다.<br />(모두 해제시 모든 대상에서 사용 가능합니다)";
$lang->msg_component_is_not_founded = '找不到%s 组件说明!';
$lang->msg_component_is_inserted = '您选择的组件已插入!';
@ -40,7 +41,6 @@
$lang->about_editor_skin = '可以选择编辑器皮肤。';
$lang->about_upload_file_grant = '可以设置上传文件的权限(全部解除为无限制)。';
$lang->about_default_component_grant = '可以设置编辑器默认组件的使用权限(全部解除为无限制)。';
$lang->about_component_grant = '可以设置除默认组件外的扩展组件使用权限(全部解除时任何用户都可以使用)。';
$lang->about_editor_height = '可以指定编辑器的默认高度。';
$lang->about_editor_height_resizable = '允许用户拖动编辑器高度。';
$lang->about_enable_html_grant = 'HTML代码编辑权限设置。';

View file

@ -0,0 +1,4 @@
@charset "utf-8";
.module_category_title { border:1px solid #DDDDDD; margin:10px 5px 5px 0; padding:3px 3px 3px 9px; }
.module_list { margin:0 0 5px 10px; }

View file

@ -34,3 +34,11 @@ function completeUpdate(ret_obj) {
function doSetupComponent(component_name) {
popopen("./?module=editor&act=dispEditorAdminSetupComponent&component_name="+component_name, "SetupComponent");
}
function toggleSectionCheckBox(obj, id) {
var box_list = xGetElementsByTagName('input', xGetElementById(id));
if(typeof(box_list.length)=='undefined') return;
for(var i in box_list) {
box_list[i].checked = obj.checked;
}
}

View file

@ -1,4 +1,6 @@
<!--%import("css/editor.css")-->
<!--%import("css/editor_admin.css")-->
<!--%import("js/editor_admin.js")-->
<!--%import("filter/setup_component.xml")-->
<div id="popHeadder">
@ -38,12 +40,42 @@
<tr>
<th scope="row">{$lang->grant}</th>
<td>
<p>{$lang->about_component_grant}</p>
<!--@foreach($group_list as $key => $val)-->
<div class="fl"><input type="checkbox" name="target_group" value="{$key}" <!--@if(in_array($key, $component->target_group))-->checked="checked"<!--@end--> id="group_{$key}"> <label for="group_{$key}">{$val->title}</label> &nbsp;</div>
<!--@end-->
</td>
</tr>
<tr>
<th scope="row">
{$lang->module}
<input type="checkbox" onclick="checkboxSelectAll(this.form, 'mid_list'); return false;" />
</th>
<td>
<p>{$lang->about_component_mid}</p>
<!--@foreach($mid_list as $module_category_srl => $modules)-->
<div class="module_category_title">
<input type="checkbox" onclick="toggleSectionCheckBox(this, 'section_{$module_category_srl}');" />
<!--@if($modules->title)-->
{$modules->title}
<!--@else-->
&nbsp;
<!--@end-->
</div>
<div id="section_{$module_category_srl}">
<!--@foreach($modules->list as $key => $val)-->
<div class="module_list">
<input type="checkbox" value="{$key}" name="mid_list" id="chk_mid_list_{$key}" <!--@if(in_array($key, $component->mid_list))-->checked="checked"<!--@end--> />
<label for="chk_mid_list_{$key}">{$key} ({$val->browser_title})</label>
</div>
<!--@end-->
</div>
<!--@end-->
</td>
</tr>
</table>
</div>

View file

@ -76,6 +76,8 @@
<!--@foreach($mid_list as $module_category_srl => $modules)-->
<!--@if($modules->title)-->
<div class="widget_title">{$modules->title}</div>
<!--@else-->
<div class="widget_title">&nbsp;</div>
<!--@end-->
<!--@foreach($modules->list as $key => $val)-->