#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

@ -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>