PageRenderTime 23ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/doceboLms/admin/views/kb/show.php

https://github.com/yourenglishsolution/YES-ML
PHP | 232 lines | 202 code | 24 blank | 6 comment | 11 complexity | a7db4c9903958d6480a7272d263a66fb MD5 | raw file
  1. <script type="text/javascript">
  2. YAHOO.namespace("KbManagement");
  3. var lb = new LightBox();
  4. var KbManagement = {
  5. selected_node: <?php echo (int) $selected_node; ?>,
  6. filterText :"",
  7. type_filter :"0",
  8. categorized_filter :"all",
  9. requestBuilder: function (oState, oSelf) {
  10. var sort, dir, startIndex, results;
  11. oState = oState || {pagination: null, sortedBy: null};
  12. startIndex = (oState.pagination) ? oState.pagination.recordOffset : 0;
  13. results = (oState.pagination) ? oState.pagination.rowsPerPage : null;
  14. sort = (oState.sortedBy) ? oState.sortedBy.key : oSelf.getColumnSet().keys[0].getKey();
  15. dir = (oState.sortedBy && oState.sortedBy.dir === YAHOO.widget.DataTable.CLASS_DESC) ? "desc" : "asc";
  16. return "&results=" + results +
  17. "&startIndex=" + startIndex +
  18. "&sort=" + sort +
  19. "&dir=" + dir+
  20. "&folder_id="+KbManagement.selected_node+
  21. "&type_filter="+KbManagement.type_filter+
  22. "&categorized_filter="+KbManagement.categorized_filter+
  23. "&filter_text="+KbManagement.filterText;
  24. },
  25. addFolderCallback: function(o) {
  26. if (o.node) {
  27. var parent = TreeView_kbtree._getNodeById(o.id_parent);
  28. TreeView_kbtree.appendNode(parent, o.node, false);
  29. }
  30. this.destroy();
  31. }
  32. }
  33. function frm_edit(elLiner, oRecord, oColumn, oData) {
  34. var img =(oRecord.getData("is_categorized") == 1 ? 'subs_categorize' : 'fd_notice');
  35. var msg =(oRecord.getData("is_categorized") == 1 ? '<?php echo Lang::t('_MOD', 'kb'); ?>' : '<?php echo Lang::t('_CATEGORIZE', 'kb'); ?>');
  36. var r_name = oRecord.getData("r_name");
  37. elLiner.innerHTML = '<a id="frm_edit_'+oRecord.getData("res_id")+'" class="ico-sprite '+img+'" '
  38. +' href="index.php?r=alms/kb/edit&amp;id='+oRecord.getData("res_id")+'" title="'+msg+': '+r_name+'">'
  39. +'<span>'+msg+'</span></a>' ;
  40. }
  41. function fv_switch(elLiner, oRecord, oColumn, oData) {
  42. var title = oData>0 ? '<?php echo addslashes(Lang::t('_SET_AS_NORMAL', 'kb')); ?>' : '<?php echo addslashes(Lang::t('_SET_VISIBLE_TO_EVERYONE', 'kb')); ?>';
  43. var r_name = oRecord.getData("r_name");
  44. elLiner.innerHTML = '<a id="fv_switch_'+oRecord.getData("res_id")+'" class="ico-sprite subs_'+(oData>0 ? 'actv' : 'noac')+'" '
  45. +' href="ajax.adm_server.php?r=alms/kb/fvSwitch&id='+oRecord.getData("res_id")+'&is_active='+(oData)+'" '
  46. +'onclick="javascript:svSwitch(this); return false;" title="'+title+': '+r_name+'">'
  47. +'<span>'+title+'</span></a>' ;
  48. }
  49. function frm_play(elLiner, oRecord, oColumn, oData) {
  50. var msg ='<?php echo Lang::t('_PLAY', 'kb'); ?>';
  51. var lms_path ='<?php echo Get::rel_path('lms'); ?>/';
  52. var extra ='';
  53. if (oRecord.getData("r_type") == 'scoitem' || oRecord.getData("r_type") == 'scorm') {
  54. extra =' rel="lightbox"';
  55. }
  56. var r_name = oRecord.getData("r_name");
  57. elLiner.innerHTML = '<a'+extra+' id="frm_play_'+oRecord.getData("res_id")+'" class="ico-sprite subs_play" '
  58. +' href="'+lms_path+'index.php?r=kb/play&amp;from_adm=1&amp;id='+oRecord.getData("res_id")+'" title="'+msg+': '+r_name+'">'
  59. +'<span>'+msg+'</span></a>' ;
  60. }
  61. function applySearchFilter() {
  62. KbManagement.filterText = YAHOO.util.Dom.get("filter_text").value;
  63. DataTable_kb_table.refresh();
  64. }
  65. YAHOO.util.Event.onDOMReady(function(e) {
  66. YAHOO.util.Event.addListener("filter_reset", "click", function(e) {
  67. YAHOO.util.Event.preventDefault(e);
  68. YAHOO.util.Dom.get("filter_text").value = "";
  69. YAHOO.util.Dom.get("res_type_dd").value = "0";
  70. KbManagement.type_filter ='0';
  71. YAHOO.util.Dom.get("categorized_filter").value = "all";
  72. KbManagement.categorized_filter ='all';
  73. applySearchFilter();
  74. });
  75. YAHOO.util.Event.addListener("quick_search", "submit", function(e) {
  76. YAHOO.util.Event.preventDefault(e);
  77. applySearchFilter();
  78. });
  79. YAHOO.util.Event.addListener("res_type_dd", "change", function(e) {
  80. KbManagement.type_filter =YAHOO.util.Dom.get("res_type_dd").value;
  81. DataTable_kb_table.refresh();
  82. });
  83. YAHOO.util.Event.addListener("categorized_filter", "change", function(e) {
  84. KbManagement.categorized_filter =YAHOO.util.Dom.get("categorized_filter").value;
  85. DataTable_kb_table.refresh();
  86. });
  87. });
  88. function svSwitch(a_elem) {
  89. sUrl = a_elem.href;
  90. var callback = {
  91. success: function(o) { DataTable_kb_table.refresh(); }
  92. };
  93. YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);
  94. };
  95. </script>
  96. <?php
  97. echo getTitleArea(array(Lang::t('_CONTENT_LIBRARY', 'kb')));
  98. ?>
  99. <div class="std_block">
  100. <?php echo $result_message; ?>
  101. <div class="quick_search_form">
  102. <div>
  103. <div class="simple_search_box" id="kb_simple_filter_options" style="display: block;">
  104. <?php
  105. echo Form::openForm('quick_search', 'javascript:;');
  106. echo Form::getInputDropdown('dropdown', 'res_type_dd', 'res_type_dd', $res_type_dd_arr, false, '') . "&nbsp;\n";
  107. echo Form::getInputDropdown('dropdown', 'categorized_filter', 'categorized_filter', $categorized_filter_arr, false, '') . "&nbsp;\n";
  108. echo Form::getInputTextfield("search_t", "filter_text", "filter_text", $filter_text, '', 255, '');
  109. echo Form::getButton("filter_set", "filter_set", Lang::t('_SEARCH', 'standard'), "search_b");
  110. echo Form::getButton("filter_reset", "filter_reset", Lang::t('_RESET', 'standard'), "reset_b");
  111. echo Form::closeForm();
  112. ?>
  113. </div>
  114. </div>
  115. </div>
  116. <div class="panel_left_small">
  117. <span class="title"><?php echo(Lang::t('_ALL_CATEGORIES', 'kb')); ?></span>
  118. <?php
  119. /**
  120. * Tree
  121. */
  122. $languages = array(
  123. '_ROOT' => Get::sett('title_kb_tree', Lang::t('_CATEGORY', 'kb')),
  124. '_YES' => Lang::t('_CONFIRM', 'organization_chart'),
  125. '_NO' => Lang::t('_UNDO', 'organization_chart'),
  126. '_LOADING' => Lang::t('_LOADING', 'standard'),
  127. '_NEW_FOLDER_NAME' => Lang::t('_ORGCHART_ADDNODE', 'organization_chart'),
  128. '_AREYOUSURE' => Lang::t('_AREYOUSURE', 'organization_chart'),
  129. '_NAME' => Lang::t('_NAME', 'standard'),
  130. '_MOD' => Lang::t('_MOD', 'standard'),
  131. '_DEL' => Lang::t('_DEL', 'standard')
  132. );
  133. $params = array(
  134. 'id' => 'kbtree',
  135. 'ajaxUrl' => 'ajax.adm_server.php?r=alms/kb/gettreedata',
  136. 'treeClass' => 'KbFolderTree',
  137. 'treeFile' => Get::rel_path('lms') . '/admin/views/kb/kbfoldertree.js',
  138. 'languages' => $languages,
  139. 'initialSelectedNode' => (int) $selected_node,
  140. 'rootActions' => '',
  141. 'show' => 'tree',
  142. 'dragDrop' => true
  143. );
  144. if ($permissions['add']) {
  145. $params['rel_action'] = '<a class="ico-wt-sprite subs_add" id="add_kb_folder" href="ajax.adm_server.php?r=alms/kb/addfolder_dialog&id=' . (int) $selected_node . '" '
  146. . ' title="' . Lang::t('_ORGCHART_ADDNODE', 'organization_chart') . '">'
  147. . '<span>' . Lang::t('_ORGCHART_ADDNODE', 'organization_chart') . '</span>'
  148. . '</a>';
  149. /**
  150. * Add folder dialog
  151. */
  152. $this->widget('dialog', array(
  153. 'id' => 'add_folder_dialog',
  154. 'dynamicContent' => true,
  155. 'ajaxUrl' => 'function() { return YAHOO.util.Dom.get("add_kb_folder").href; }',
  156. 'dynamicAjaxUrl' => true,
  157. 'callback' => 'KbManagement.addFolderCallback',
  158. 'callEvents' => array(
  159. array('caller' => 'add_kb_folder', 'event' => 'click')
  160. )
  161. ));
  162. }
  163. $this->widget('tree', $params);
  164. ?>
  165. </div>
  166. <div class="panel_right_big">
  167. <?php
  168. $columns = array(
  169. array('key' => 'r_name', 'label' => Lang::t('_NAME', 'kb'), 'sortable' => true),
  170. array('key' => 'r_type', 'label' => Lang::t('_TYPE', 'kb'), 'sortable' => true),
  171. array('key' => 'r_env', 'label' => Lang::t('_ENVIRONMENT', 'kb'), 'sortable' => true),
  172. array('key' => 'r_env_parent', 'label' => Lang::t('_CONTAINED_IN', 'kb'), 'sortable' => false),
  173. array('key' => 'r_lang', 'label' => Lang::t('_LANGUAGE', 'kb'), 'sortable' => true),
  174. array('key' => 'tags', 'label' => Lang::t('_TAGS', 'kb'), 'sortable' => false)
  175. );
  176. if ($permissions['mod']) {
  177. $_title_categorize = Lang::t('_MOD', 'kb');
  178. $_title_users = Lang::t('_SET_VISIBLE_TO_EVERYONE', 'kb');
  179. $_sprite_categorize = Get::sprite('subs_categorize', $_title_categorize, $_title_categorize);
  180. $_sprite_users = Get::sprite('subs_users', $_title_users, $_title_users);
  181. $columns[] = array('key' => 'edit', 'label' => $_sprite_categorize, 'formatter' => 'frm_edit', 'className' => 'img-cell');
  182. $columns[] = array('key' => 'force_visible', 'label' => $_sprite_users, 'formatter' => 'fv_switch', 'className' => 'img-cell');
  183. }
  184. $_title_play = Lang::t('_PLAY', 'kb');
  185. $_sprite_play = Get::sprite('subs_play', $_title_play, $_title_play);
  186. $columns[] = array('key' => 'play', 'label' => $_sprite_play, 'formatter' => 'frm_play', 'className' => 'img-cell');
  187. $this->widget('table', array(
  188. 'id' => 'kb_table',
  189. 'ajaxUrl' => 'ajax.adm_server.php?r=alms/kb/getlist',
  190. 'rowsPerPage' => Get::sett('visuItem', 25),
  191. 'startIndex' => 0,
  192. 'results' => Get::sett('visuItem', 25),
  193. 'sort' => 'r_name',
  194. 'dir' => 'asc',
  195. 'generateRequest' => 'KbManagement.requestBuilder',
  196. 'events' => array(
  197. 'postRenderEvent' => 'function () { lb.init(); }',
  198. ),
  199. 'columns' => $columns,
  200. 'fields' => array(
  201. 'res_id', 'r_name', 'r_type', 'r_env', 'r_env_parent', 'r_lang', 'tags',
  202. 'edit', 'force_visible', 'is_mobile', 'is_categorized'
  203. ),
  204. ));
  205. ?>
  206. </div>
  207. <div class="nofloat"></div>
  208. </div>