$query = 'SELECT a.item_id AS value, b.title' . ' FROM #__community_acl_content_actions AS a' . ' LEFT JOIN #__content AS b ON b.id = a.item_id' . ' WHERE a.item_type = \'content\' AND a.action = \'publish\'' . ' AND a.func_id = ' . $id . ' ORDER BY a.id'; $db->setQuery($query); $lists['contents_publish'] = $db->loadObjectList(); cacl_html::set_functions($id, $lists, $option); } function saveAccess() { global $mainframe, $option; $db =& JFactory::getDBO(); $cid = (int) JRequest::getCmd('id'); $task = JRequest::getCmd('task'); $mode = JRequest::getCmd('mode'); $redirect = JRequest::getCmd('redirect'); $post = JRequest::get('post'); $article_submission[1] = $post['show_frontpage']; $article_submission[2] = $post['show_metadata']; $article_submission[3] = $post['show_start_publishing']; $article_submission[4] = $post['show_finish_publishing']; $article_submission[5] = $post['show_alias']; $article_submission[6] = $post['show_access']; $redirect_front = JRequest::getVar('frontend_redirect'); $redirect_admin = JRequest::getVar('backend_redirect'); if ($mode == 'role_id') { $group_id = 0; $role_id = $cid; } else { $group_id = $cid; $role_id = 0; } if ($role_id != 0) { $query = "SELECT role_id FROM `#__community_acl_submit_form_role_level` WHERE role_id = '{$role_id}' "; $db->setQuery($query); //$submit_frm_restricted = $db->loadResult(); if ($db->loadResult()) { #update Article Submission for ($i = 1; $i < 7; $i++) { $query = "UPDATE `#__community_acl_submit_form_role_level` " . " SET `choices` = " . $article_submission[$i] . " WHERE `id` = " . $i . " AND `role_id` = " . $role_id; $db->setQuery($query); $db->query(); } } else { #insert new record for ($i = 1; $i < 7; $i++) { $query = "INSERT `#__community_acl_submit_form_role_level` " . "\t(`id`, `role_id`, `desc`, `choices` ) VALUES " . " ( '{$i}', '{$role_id}', '', '{$article_submission[$i]}') "; $db->setQuery($query); $db->query(); } } $query = "UPDATE `#__community_acl_roles` SET redirect_FRONT = '{$redirect_front}', redirect_ADMIN = '{$redirect_admin}' WHERE id = '{$role_id}';"; $db->setQuery($query); $db->Query(); } elseif ($group_id != 0) { $query = "SELECT group_id FROM `#__community_acl_submit_form_group_level` WHERE group_id = '{$group_id}' "; $db->setQuery($query); //$submit_frm_restricted = $db->loadResult(); if ($db->loadResult()) { #update Article Submission for ($i = 1; $i < 7; $i++) { $query = "UPDATE `#__community_acl_submit_form_group_level` " . " SET `choices` = " . $article_submission[$i] . " WHERE `id` = " . $i . " AND `group_id` = " . $group_id; $db->setQuery($query); $db->query(); } } else { #insert new record for ($i = 1; $i < 7; $i++) { $query = "INSERT `#__community_acl_submit_form_group_level` " . "\t(`id`, `group_id`, `desc`, `choices` ) VALUES " . " ( '{$i}', '{$group_id}', '', '{$article_submission[$i]}') "; $db->setQuery($query); $db->query(); } } $query = "UPDATE `#__community_acl_groups` SET redirect_URL_FRONT = '{$redirect_front}', redirect_URL_ADMIN = '{$redirect_admin}' WHERE id = '{$group_id}';"; $db->setQuery($query); $db->Query(); } $section_id = JRequest::getVar('section_id', array(), '', 'array'); JArrayHelper::toInteger($section_id, array()); $cat_id = JRequest::getVar('cat_id', array(), '', 'array'); JArrayHelper::toInteger($cat_id, array()); $content_id = JRequest::getVar('content_id', array(), '', 'array'); JArrayHelper::toInteger($content_id, array()); $component_id = JRequest::getVar('component_id', array(), '', 'array'); //JArrayHelper::toInteger($component_id, array()); $menu_id = JRequest::getVar('menu_id', array(), '', 'array'); JArrayHelper::toInteger($menu_id, array()); $front_end_cb = JRequest::getVar('front_end_cb', array(), '', 'array'); JArrayHelper::toInteger($front_end_cb, array()); $back_end_cb = JRequest::getVar('back_end_cb', array(), '', 'array'); JArrayHelper::toInteger($back_end_cb, array()); $module_id = JRequest::getVar('module_id', array(), '', 'array'); JArrayHelper::toInteger($module_id, array()); $query = "DELETE FROM `#__community_acl_access` WHERE `group_id` = '{$group_id}' AND `role_id` = '{$role_id}';"; $db->setQuery($query); $db->Query(); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } if (is_array($section_id) && count($section_id)) { foreach ($section_id as $id) { if ($id > -1) { $query = "INSERT INTO `#__community_acl_access` (`group_id`, `role_id`, `option`, `name`, `value`, `isfrontend`, `isbackend`) VALUES('{$group_id}','{$role_id}','com_sections','cid','{$id}', 1, 1);"; $db->setQuery($query); $db->Query(); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } } } } if (is_array($cat_id) && count($cat_id)) { foreach ($cat_id as $id) { if ($id > -1) { $query = "INSERT INTO `#__community_acl_access` (`group_id`, `role_id`, `option`, `name`, `value`, `isfrontend`, `isbackend`) VALUES('{$group_id}','{$role_id}','com_categories','cid','{$id}', 1, 1);"; $db->setQuery($query); $db->Query(); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } } } } if (is_array($content_id) && count($content_id)) { foreach ($content_id as $id) { if ($id > 0) { $query = "INSERT INTO `#__community_acl_access` (`group_id`, `role_id`, `option`, `name`, `value`, `isfrontend`, `isbackend`) VALUES('{$group_id}','{$role_id}','com_content','cid','{$id}', 1, 1);"; $db->setQuery($query); $db->Query(); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } } } } if (is_array($component_id) && count($component_id)) { foreach ($component_id as $i => $id) { if ($id > 0 || $id == 'com_sections' || $id == 'com_frontpage' || $id == 'com_categories' || $id == 'com_trash') { $query = "SELECT `option` FROM `#__components` WHERE `id` = '{$id}';"; $db->setQuery($query); $com_option = $db->loadResult(); if ($id == 'com_sections' || $id == 'com_frontpage' || $id == 'com_categories' || $id == 'com_trash') { $com_option = $id; } $query = "INSERT INTO `#__community_acl_access` (`group_id`, `role_id`, `option`, `name`, `value`, `isfrontend`, `isbackend`) VALUES('{$group_id}','{$role_id}','{$com_option}','###','{$id}', '" . $front_end_cb[$i] . "', '" . $back_end_cb[$i] . "');"; $db->setQuery($query); $db->Query(); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } } } } if (is_array($menu_id) && count($menu_id)) { foreach ($menu_id as $i => $id) { if ($id > 0) { $query = "INSERT INTO `#__community_acl_access` (`group_id`, `role_id`, `option`, `name`, `value`, `isfrontend`, `isbackend`) VALUES('{$group_id}','{$role_id}','menu','###','{$id}', '1', '0');"; $db->setQuery($query); $db->Query(); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } } } } if (is_array($module_id) && count($module_id)) { foreach ($module_id as $id) { if ($id > 0) { $query = "INSERT INTO `#__community_acl_access` (`group_id`, `role_id`, `option`, `name`, `value`) VALUES('{$group_id}','{$role_id}','module','@@@','{$id}');"; $db->setQuery($query); $db->Query(); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } } } } // added 3rd party plugin support -BUR 1/18/2011 if (JPluginHelper::isEnabled('system', 'cacl_docman')) { plgSystemCacl_docman::saveAccess($db, JRequest::getVar('docmanId'), $group_id, $role_id); } // added 3rd party plugin support //adam added 3rd party plugin support if (JPluginHelper::isEnabled('system', 'cacl_joomsocial')) { plgSystemCacl_joomsocial::saveAccess($db, JRequest::getVar('jsmenu_id'), $group_id, $role_id); } //end adam added 3rd party plugin support $query = "SELECT `id` FROM `#__community_acl_sites` WHERE `is_main` = '1'"; $db->setQuery($query); $sid = (int) $db->loadResult(); if ($sid > 0) { $main = new CACL_site($db); $main->load($sid); $config = new CACL_config($main->_site_db); $config->load(); if ($config->synchronize && $config->cacl_grf) { $tid = array('group_id' => $group_id, 'role_id' => $role_id); $sync = new CACL_syncronize($main); $sync->syncronize($tid, 'access'); } } $msg = JText::_('Access saved'); if ($task == 'apply_access') {
function group_access($id, $mode, &$lists, $option, $redirect) { JRequest::setVar('hidemainmenu', 1); $db =& JFactory::getDBO(); $query = "SELECT `value` FROM `#__community_acl_config` WHERE `name` = 'default_action' "; $db->setQuery($query); $default_action = $db->loadResult(); if ($default_action == null) { $default_action = 'deny'; } jimport('joomla.html.pane'); JHTML::_('behavior.tooltip'); $pane =& JPane::getInstance('Tabs'); left_menu_header(); ?> <script language="javascript" type="text/javascript"> /* <![CDATA[ */ var menus = new Array; var modules = new Array; var sections = new Array; var categories = new Array; var articles = new Array; <?php $i = 0; foreach ($lists['menus_arr'] as $k => $v) { echo "menus[" . $i . "] = new Array( '" . addslashes($v->value) . "', '" . addslashes($v->treename) . "', '" . addslashes($v->parent_name) . "', '" . addslashes($v->menu_name) . "' );\n\t\t"; $i++; } $i = 0; foreach ($lists['modules_arr'] as $k => $v) { $v->title = str_replace(array("\n", "\r"), '<br/>', $v->title); echo "modules[" . $v->id . "] = new Array( '" . addslashes($v->id) . "', '" . addslashes($v->title) . "', '" . addslashes($v->position) . "', '" . addslashes($v->module) . "', '" . addslashes($v->published) . "' );\n\t\t"; } $i = 0; foreach ($lists['sections_arr'] as $k => $v) { $v->title = str_replace(array("\n", "\r"), '<br/>', $v->title); echo "sections[" . $v->id . "] = new Array( '" . addslashes($v->id) . "', '" . addslashes($v->title) . "', '" . addslashes($v->published) . "' );\n\t\t"; } echo "sections[0] = new Array( '0', '" . JText::_('Uncategorized') . "', '1' );\n\t\t"; $i = 0; foreach ($lists['categories_arr'] as $k => $v) { $v->title = str_replace(array("\n", "\r"), '<br/>', $v->title); echo "categories[" . $v->id . "] = new Array( '" . addslashes($v->id) . "', '" . addslashes($v->title) . "', '" . addslashes($v->published) . "', '" . addslashes($v->section_name) . "' );\n\t\t"; } echo "categories[0] = new Array( '0', '" . JText::_('Uncategorized') . "', '1', '" . JText::_('Uncategorized') . "' );\n\t\t"; $i = 0; foreach ($lists['contents_arr'] as $k => $v) { $v->title = str_replace(array("\n", "\r"), '<br/>', $v->title); $v->author_name = str_replace(array("\n", "\r"), '<br/>', $v->author_name); echo "articles[" . $v->id . "] = new Array( '" . addslashes($v->id) . "', '" . addslashes($v->title) . "', '" . addslashes($v->published) . "', '" . addslashes($v->section_name == '' ? JText::_('Uncategorized') : $v->section_name) . "', '" . addslashes($v->cat_name == '' ? JText::_('Uncategorized') : $v->cat_name) . "', '" . addslashes($v->author_name) . "' );\n\t\t"; } ?> function check(xx, k) { for (ii in sectioncategories) { if (sectioncategories[ii][0] == k) { if (categoriescontent[xx][0] == sectioncategories[ii][1]) { return true; } } } return false; } function check_id_in_table(id, tbody_id) { var tbody = jQuery('tbody#'+tbody_id).get(0); if (tbody.rows[0]) { for (var i = 0; i < tbody.rows.length; i++) { var children = tbody.rows[i].cells[1].childNodes; for (var j = 0; j < children.length; j++) { if (children[j].nodeName.toLowerCase() == 'input' && children[j].value == id) { return false; } } } } return true; } function changeDynaList( listname, source, key, orig_key, orig_val ) { var list = eval( 'document.adminForm.' + listname ); // empty the list for (i in list.options.length) { list.options[i] = null; } i = 0; for (x in source) { //alert(source[x][0]); if (source[x][0] == key || (key < 0 && check(x, -1*key)) ) { opt = new Option(); opt.value = source[x][1]; opt.text = source[x][2]; if ((orig_key == key && orig_val == opt.value) || i == 0) { opt.selected = true; } list.options[i++] = opt; } } list.length = i; } function Select_all(elem_id) { elem = jQuery('select#'+elem_id).get(0); for (var i=0; i<elem.options.length; i++) { elem.options[i].selected = true; } return true; } var number = 9999; function renum_table_rows(tbl_elem) { if (tbl_elem.rows[0]) { var count = 1; var row_k = 1 - 1%2; for (var i=0; i<tbl_elem.rows.length; i++) { tbl_elem.rows[i].cells[0].innerHTML = count; tbl_elem.rows[i].className = 'row'+row_k; count++; row_k = 1 - row_k; } } } function renum_table_rows_menu(tbl_elem) { if (tbl_elem.rows[0]) { var menu_ids = new Array; var count = 1; var row_k = 1 - 1%2; for (var i=0; i<tbl_elem.rows.length; i++) { menu_ids[i] = parseInt(tbl_elem.rows[i].cells[4].innerHTML); tbl_elem.deleteRow(i); } for (var i=0; i<menus.length; i++) { if (menus[i] != null) { for (var j=0; j<menu_ids.length; j++) { if (menu_ids[j] == i) { var row = document.createElement("TR"); } } } } } } function delete_row(element, tbl) { var del_index = element.parentNode.parentNode.sectionRowIndex; element.parentNode.parentNode.parentNode.deleteRow(del_index); var tbody = jQuery('tbody#'+tbl).get(0); renum_table_rows(tbody); } function delete_row_c(element) { var del_index = element.parentNode.parentNode.sectionRowIndex; element.parentNode.parentNode.parentNode.deleteRow(del_index); var tbody = jQuery('tbody#list_body_c').get(0); renum_table_rows(tbody); } function delete_row_m(element) { var del_index = element.parentNode.parentNode.sectionRowIndex; element.parentNode.parentNode.parentNode.deleteRow(del_index); var tbody = jQuery('tbody#list_body_m').get(0); renum_table_rows(tbody); } function addRow(tbl) { if (tbl == 'list_body_se') { var type = 'section'; var listitem = jQuery('select#sectionid').get(0); var hidden_name = 'section_id[]'; var carray = sections; } else if (tbl == 'list_body_ca') { var type = 'category'; var listitem = jQuery('select#catid').get(0); var hidden_name = 'cat_id[]'; var carray = categories; } else if (tbl == 'list_body_ar') { var type = 'article'; var listitem = jQuery('select#contentid').get(0); var hidden_name = 'content_id[]'; var carray = articles; } var tbody = jQuery('tbody#'+tbl).get(0); for (jj = 0; jj < listitem.options.length; jj++) { if (listitem.options[jj].selected == true && check_id_in_table(listitem.options[jj].value, tbl)) { var row = document.createElement("TR"); var cell0 = document.createElement("TD"); cell0.innerHTML = '0'; var cell1 = document.createElement("TD"); cell1.innerHTML = listitem.options[jj].text; var input_hidden = document.createElement("input"); input_hidden.type = 'hidden'; input_hidden.name = hidden_name; input_hidden.value = listitem.options[jj].value; cell1.appendChild(input_hidden); var cell_pub = document.createElement("TD"); if (parseInt(carray[listitem.options[jj].value][2]) > 0) { var img = 'tick.png'; var alt = '<?php echo JText::_('Published'); ?> '; } else { var img = 'publish_x.png'; var alt = '<?php echo JText::_('Unpublished'); ?> '; } cell_pub.innerHTML = '<img src="images/' + img + '" border="0" alt="' + alt + '" />'; cell_pub.align = "center"; if (type == 'category') { var cell_1 = document.createElement("TD"); cell_1.innerHTML = carray[listitem.options[jj].value][3]; } else if (type == 'article') { var cell_1 = document.createElement("TD"); cell_1.innerHTML = carray[listitem.options[jj].value][3]; var cell_2 = document.createElement("TD"); cell_2.innerHTML = carray[listitem.options[jj].value][4]; var cell_3 = document.createElement("TD"); cell_3.innerHTML = carray[listitem.options[jj].value][5]; } var cell_id = document.createElement("TD"); cell_id.innerHTML = listitem.options[jj].value; cell_id.align = "center"; var cell_last = document.createElement("TD"); cell_last.innerHTML = '<a href="javascript: void(0);" onclick="javascript:delete_row(this,\''+tbl+'\'); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a>'; cell_last.align = "center"; row.appendChild(cell0); row.appendChild(cell1); row.appendChild(cell_pub); if (type == 'category') { row.appendChild(cell_1); } else if (type == 'article') { row.appendChild(cell_1); row.appendChild(cell_2); row.appendChild(cell_3); } row.appendChild(cell_id); row.appendChild(cell_last); if (type != 'article') { var cell_null = document.createElement("TD"); cell_null.innerHTML = ' '; row.appendChild(cell_null); } tbody.appendChild(row); } } renum_table_rows(tbody); } function addRowC() { var componentid = jQuery('select#componentid').get(0); var front_end = jQuery('input#front_end').get(0).checked; var back_end = jQuery('input#back_end').get(0).checked; /* if (!front_end && !back_end) { alert('<?php echo JText::_('Select Back-End or Front-End access'); ?> '); return; } */ var tbody = jQuery('tbody#list_body_c').get(0); for (jj = 0; jj < componentid.options.length; jj++) { if (componentid.options[jj].selected == true && check_id_in_table(componentid.options[jj].value, 'list_body_c')) { var row = document.createElement("TR"); var cell0 = document.createElement("TD"); cell0.innerHTML = '0'; var cell1 = document.createElement("TD"); cell1.innerHTML = componentid.options[jj].text; var input_hidden = document.createElement("input"); input_hidden.type = 'hidden'; input_hidden.name = 'component_id[]'; input_hidden.value = componentid.options[jj].value; cell1.appendChild(input_hidden); var cell2 = document.createElement("TD"); if (front_end) cell2.innerHTML = '<a href="javascript: void(0);" onclick="javascript: changeState('+(number)+');"><img id="img_'+(number)+'" src="images/tick.png" border="0" alt="<?php echo JText::_('Yes'); ?> " title="<?php echo JText::_('Yes'); ?> " /><input type="hidden" id="cbx_'+(number++)+'" name="front_end_cb[]" value="1" /></a>'; else cell2.innerHTML = '<a href="javascript: void(0);" onclick="javascript: changeState('+(number)+');"><img id="img_'+(number)+'" src="images/publish_x.png" border="0" alt="<?php echo JText::_('No'); ?> " title="<?php echo JText::_('No'); ?> " /><input type="hidden" id="cbx_'+(number++)+'" name="front_end_cb[]" value="0" /></a>'; cell2.align = "center"; var cell3 = document.createElement("TD"); if (back_end) cell3.innerHTML = '<a href="javascript: void(0);" onclick="javascript: changeState('+(number)+');"><img id="img_'+(number)+'" src="images/tick.png" border="0" alt="<?php echo JText::_('Yes'); ?> " title="<?php echo JText::_('Yes'); ?> " /><input type="hidden" id="cbx_'+(number++)+'" name="back_end_cb[]" value="1" /></a>'; else cell3.innerHTML = '<a href="javascript: void(0);" onclick="javascript: changeState('+(number)+');"><img id="img_'+(number)+'" src="images/publish_x.png" border="0" alt="<?php echo JText::_('No'); ?> " title="<?php echo JText::_('No'); ?> " /><input type="hidden" id="cbx_'+(number++)+'" name="back_end_cb[]" value="0" /></a>'; cell3.align = "center"; var cell4 = document.createElement("TD"); cell4.innerHTML = '<a href="javascript: void(0);" onclick="javascript:delete_row_c(this); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a>'; cell4.align = "center"; var cell5 = document.createElement("TD"); cell5.innerHTML = ' '; row.appendChild(cell0); row.appendChild(cell1); row.appendChild(cell2); row.appendChild(cell3); row.appendChild(cell4); row.appendChild(cell5); tbody.appendChild(row); } } renum_table_rows(tbody); } function addRowMenu() { var menuid = jQuery('select#menuid').get(0); var tbody = jQuery('tbody#list_body_menu').get(0); var menu_ids = new Array; for (var jj = 0; jj < menuid.options.length; jj++) { if (menuid.options[jj].selected == true ) {//&& check_id_in_table(menuid.options[jj].value, 'list_body_menu') menu_ids[jj] = menuid.options[jj].value; } } var n = tbody.rows.length for (var i=0; i<n; i++) { menu_ids[jj] = parseInt(tbody.rows[0].cells[4].innerHTML); tbody.deleteRow(0); jj++; } for (var i=0; i < menus.length; i++) { if (menus[i] != null) { for (var j=0; j<menu_ids.length; j++) { if (menu_ids[j] == menus[i][0]) { j = menu_ids.length; var jj = i; var row = document.createElement("TR"); var cell0 = document.createElement("TD"); cell0.innerHTML = '0'; var cell1 = document.createElement("TD"); cell1.innerHTML = menus[jj][1];//menuid.options[jj].text;menuid.options[jj].value var input_hidden = document.createElement("input"); input_hidden.type = 'hidden'; input_hidden.name = 'menu_id[]'; input_hidden.value = menus[jj][0]; cell1.appendChild(input_hidden); var cell2 = document.createElement("TD"); cell2.innerHTML = menus[jj][3]; var cell3 = document.createElement("TD"); cell3.innerHTML = menus[jj][2]; var cell4 = document.createElement("TD"); cell4.align = "center"; cell4.innerHTML = menus[jj][0]; var cell5 = document.createElement("TD"); cell5.innerHTML = '<a href="javascript: void(0);" onclick="javascript:delete_row(this, \'list_body_menu\'); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a>'; cell5.align = "center"; var cell6 = document.createElement("TD"); cell6.innerHTML = ' '; row.appendChild(cell0); row.appendChild(cell1); row.appendChild(cell2); row.appendChild(cell3); row.appendChild(cell4); row.appendChild(cell5); row.appendChild(cell6); tbody.appendChild(row); } } } } renum_table_rows(tbody); } function addRowM() { var moduleid = jQuery('select#moduleid').get(0); var tbody = jQuery('tbody#list_body_m').get(0); for (jj = 0; jj < moduleid.options.length; jj++) { if (moduleid.options[jj].selected == true && check_id_in_table(moduleid.options[jj].value, 'list_body_m')) { var row = document.createElement("TR"); var cell0 = document.createElement("TD"); cell0.innerHTML = '0'; var cell1 = document.createElement("TD"); cell1.innerHTML = moduleid.options[jj].text; var input_hidden = document.createElement("input"); input_hidden.type = 'hidden'; input_hidden.name = 'module_id[]'; input_hidden.value = moduleid.options[jj].value; cell1.appendChild(input_hidden); var cell2 = document.createElement("TD"); cell2.innerHTML = '<a href="javascript: void(0);" onclick="javascript:delete_row_m(this); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a>'; cell2.align = "center"; var cell3 = document.createElement("TD"); cell3.innerHTML = modules[moduleid.options[jj].value][0]; cell3.align = "center"; var cell4 = document.createElement("TD"); cell4.innerHTML = modules[moduleid.options[jj].value][2]; var cell5 = document.createElement("TD"); cell5.innerHTML = modules[moduleid.options[jj].value][3]; var cell_pub = document.createElement("TD"); if (parseInt(modules[moduleid.options[jj].value][4]) > 0) { var img = 'tick.png'; var alt = '<?php echo JText::_('Published'); ?> '; } else { var img = 'publish_x.png'; var alt = '<?php echo JText::_('Unpublished'); ?> '; } cell_pub.innerHTML = '<img src="images/' + img + '" border="0" alt="' + alt + '" />'; cell_pub.align = "center"; var cell6 = document.createElement("TD"); cell6.innerHTML = ' '; row.appendChild(cell0); row.appendChild(cell1); row.appendChild(cell2); row.appendChild(cell3); row.appendChild(cell4); row.appendChild(cell5); row.appendChild(cell_pub); row.appendChild(cell6); tbody.appendChild(row); } } renum_table_rows(tbody); } function changeState(elem_no) { var cbx = jQuery('input#cbx_'+elem_no).get(0); var img = jQuery('img#img_'+elem_no).get(0); if ( cbx.value == 1 ) { cbx.value = 0; img.src = 'images/publish_x.png'; img.alt = '<?php echo JText::_('No'); ?> '; img.title = '<?php echo JText::_('No'); ?> '; } else { cbx.value = 1; img.src = 'images/tick.png'; img.alt = '<?php echo JText::_('Yes'); ?> '; img.title = '<?php echo JText::_('Yes'); ?> '; } } function clearTable(table) { var tbody = jQuery('tbody#'+table).get(0); while ( tbody.childNodes.length >= 1 ){ tbody.removeChild( tbody.firstChild ); } //tbody.innerHTML = ''; } /* ]]> */ </script> <form action="index.php" method="post" name="adminForm"> <?php echo $pane->startPane("content-pane"); echo $pane->startPanel('Sections', 'Sections'); ?> <fieldset class="adminform"> <legend><?php echo JText::_('Add New Item'); ?> </legend> <table class="adminform"> <tr> <td valign="top" width="10%"> <?php echo $lists['sectionid']; ?> </td> <td valign="top" align="left" width="auto"> <input type="button" name="select_all" class="button" value="Select All" onclick="javascript: Select_all('sectionid');" /><br/><br/> <input type="button" name="add" class="button" value="Add" onclick="javascript: addRow('list_body_se');" /> </td> </tr> </table> </fieldset> <fieldset class="adminform"> <legend><?php echo $default_action == 'deny' ? JText::_('Lists of Allowed Items') : JText::_('Lists of Forbidden Items'); ?> </legend> <table class="adminlist" cellpadding="1"> <thead> <tr> <th width="2%" class="title"> <?php echo JText::_('NUM'); ?> </th> <th class="title" width="25%"> <?php echo JText::_('Section'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Published'); ?> </th> <th class="title" width="5%"> <?php echo JText::_('ID'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Delete'); ?> <input type="button" name="clear_all" class="button" value="<?php echo JText::_('Clear All'); ?> " onclick="javascript: clearTable('list_body_se');" /> </th> <th class="title" width="auto"> </th> </tr> </thead> <tbody id="list_body_se"> <?php $k = 0; $i = 1; if (is_array($lists['sections']) && count($lists['sections'])) { foreach ($lists['sections'] as $row) { $img = $row->published ? 'tick.png' : 'publish_x.png'; $alt = $row->published ? JText::_('Published') : JText::_('Unpublished'); $published = '<img src="images/' . $img . '" border="0" alt="' . $alt . '" />'; ?> <tr class="row<?php echo $k; ?> "> <td width="2%"> <?php echo $i++; ?> </td> <td> <?php echo $row->value > 0 ? $row->title : JText::_('Uncategorized'); ?> <input type="hidden" name="section_id[]" value="<?php echo $row->value; ?> " /> </td> <td align="center"> <?php echo $published; ?> </td> <td align="center"> <?php echo $row->value; ?> </td> <td align="center"> <a href="javascript: void(0);" onclick="javascript:delete_row(this, 'list_body_se'); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a> </td> <td> </td> </tr> <?php $k = 1 - $k; } } ?> </tbody> </table> </fieldset> <?php echo $pane->endPanel(); echo $pane->startPanel('Categories', 'Categories'); ?> <fieldset class="adminform"> <legend><?php echo JText::_('Add New Item'); ?> </legend> <table class="adminform"> <tr> <td valign="top" width="10%"> <?php echo $lists['catid']; ?> </td> <td valign="top" align="left" width="auto"> <input type="button" name="select_all" class="button" value="Select All" onclick="javascript: Select_all('catid');" /><br/><br/> <input type="button" name="add" class="button" value="Add" onclick="javascript: addRow('list_body_ca');" /> </td> </tr> </table> </fieldset> <fieldset class="adminform"> <legend><?php echo $default_action == 'deny' ? JText::_('Lists of Allowed Items') : JText::_('Lists of Forbidden Items'); ?> </legend> <table class="adminlist" cellpadding="1"> <thead> <tr> <th width="2%" class="title"> <?php echo JText::_('NUM'); ?> </th> <th class="title" width="25%"> <?php echo JText::_('Category'); ?> </th> <th class="title" width="8%"> <?php echo JText::_('Published'); ?> </th> <th class="title" width="15%"> <?php echo JText::_('Section'); ?> </th> <th class="title" width="5%"> <?php echo JText::_('ID'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Delete'); ?> <input type="button" name="clear_all" class="button" value="<?php echo JText::_('Clear All'); ?> " onclick="javascript: clearTable('list_body_ca');" /> </th> <th class="title" width="auto"> </th> </tr> </thead> <tbody id="list_body_ca"> <?php $k = 0; $i = 1; if (is_array($lists['categories']) && count($lists['categories'])) { foreach ($lists['categories'] as $row) { $img = $row->published ? 'tick.png' : 'publish_x.png'; $alt = $row->published ? JText::_('Published') : JText::_('Unpublished'); $published = '<img src="images/' . $img . '" border="0" alt="' . $alt . '" />'; ?> <tr class="row<?php echo $k; ?> "> <td width="2%"> <?php echo $i++; ?> </td> <td> <?php echo $row->value > 0 ? $row->title : JText::_('Uncategorized'); ?> <input type="hidden" name="cat_id[]" value="<?php echo $row->value; ?> " /> </td> <td align="center"> <?php echo $published; ?> </td> <td > <?php echo $row->section_name; ?> </td> <td align="center"> <?php echo $row->value; ?> </td> <td align="center"> <a href="javascript: void(0);" onclick="javascript:delete_row(this, 'list_body_ca'); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a> </td> <td> </td> </tr> <?php $k = 1 - $k; } } ?> </tbody> </table> </fieldset> <?php echo $pane->endPanel(); echo $pane->startPanel('Articles', 'Articles'); ?> <fieldset class="adminform"> <legend><?php echo JText::_('Add New Item'); ?> </legend> <table class="adminform"> <tr> <td valign="top" width="10%"> <?php echo $lists['contentid']; ?> </td> <td valign="top" align="left" width="auto"> <input type="button" name="select_all" class="button" value="Select All" onclick="javascript: Select_all('contentid');" /><br/><br/> <input type="button" name="add" class="button" value="Add" onclick="javascript: addRow('list_body_ar');" /> </td> </tr> </table> </fieldset> <fieldset class="adminform"> <legend><?php echo $default_action == 'deny' ? JText::_('Lists of Allowed Items') : JText::_('Lists of Forbidden Items'); ?> </legend> <table class="adminlist" cellpadding="1"> <thead> <tr> <th width="2%" class="title"> <?php echo JText::_('NUM'); ?> </th> <th class="title" width="35%"> <?php echo JText::_('Article'); ?> </th> <th class="title" width="8%"> <?php echo JText::_('Published'); ?> </th> <th class="title" width="15%"> <?php echo JText::_('Section'); ?> </th> <th class="title" width="15%"> <?php echo JText::_('Category'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Author'); ?> </th> <th class="title" width="2%"> <?php echo JText::_('ID'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Delete'); ?> <input type="button" name="clear_all" class="button" value="<?php echo JText::_('Clear All'); ?> " onclick="javascript: clearTable('list_body_ar');" /> </th> </tr> </thead> <tbody id="list_body_ar"> <?php $k = 0; $i = 1; if (is_array($lists['contents']) && count($lists['contents'])) { foreach ($lists['contents'] as $row) { $img = $row->published ? 'tick.png' : 'publish_x.png'; $alt = $row->published ? JText::_('Published') : JText::_('Unpublished'); $published = '<img src="images/' . $img . '" border="0" alt="' . $alt . '" />'; ?> <tr class="row<?php echo $k; ?> "> <td width="2%"> <?php echo $i++; ?> </td> <td> <?php echo $row->title; ?> <input type="hidden" name="content_id[]" value="<?php echo $row->value; ?> " /> </td> <td align="center"> <?php echo $published; ?> </td> <td > <?php echo $row->section_name; ?> </td> <td > <?php echo $row->cat_name; ?> </td> <td > <?php echo $row->author_name; ?> </td> <td align="center"> <?php echo $row->value; ?> </td> <td align="center"> <a href="javascript: void(0);" onclick="javascript:delete_row(this, 'list_body_ar'); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a> </td> </tr> <?php $k = 1 - $k; } } ?> </tbody> </table> </fieldset> <?php echo $pane->endPanel(); echo $pane->startPanel('Components', 'Component'); ?> <fieldset class="adminform"> <legend><?php echo JText::_('Add New Item'); ?> </legend> <table class="adminform"> <tr> <td valign="top" width="10%"> <?php echo $lists['componentid']; ?> </td> <td valign="top" width="13%" align="left"> <label><input type="checkbox" name="front_end" id="front_end" value="1" checked="checked" /> <?php echo JText::_('Front End'); ?> </label><br /> <label><input type="checkbox" name="back_end" id="back_end" value="1" checked="checked" /> <?php echo JText::_('Back End'); ?> </label> </td> <td valign="top" width="auto" align="left"> <input type="button" name="select_all" class="button" value="Select All" onclick="javascript: Select_all('componentid');" /><br/><br/> <input type="button" name="add" class="button" value="Add" onclick="javascript: addRowC();" /> </td> </tr> </table> </fieldset> <fieldset class="adminform"> <legend><?php echo $default_action == 'deny' ? JText::_('List of Allowed Components') : JText::_('List of Forbidden Components'); ?> </legend> <table class="adminlist" cellpadding="1"> <thead> <tr> <th width="2%" class="title"> <?php echo JText::_('NUM'); ?> </th> <th class="title" width="25%"> <?php echo JText::_('Component'); ?> </th> <th class="title" width="15%"> <?php echo $default_action == 'deny' ? JText::_('Allow in Front End') : JText::_('Forbid in Front End'); ?> </th> <th class="title" width="15%"> <?php echo $default_action == 'deny' ? JText::_('Allow Back End') : JText::_('Forbid Back End'); ?> </th> <th class="title" width="15%"> <?php echo JText::_('Delete'); ?> <input type="button" name="clear_all" class="button" value="<?php echo JText::_('Clear All'); ?> " onclick="javascript: clearTable('list_body_c');" /> </th> <th class="title" width="auto"> </th> </tr> </thead> <tbody id="list_body_c"> <?php $k = 0; $i = 1; $j = 1; if (is_array($lists['components']) && count($lists['components'])) { foreach ($lists['components'] as $row) { ?> <tr class="row<?php echo $k; ?> "> <td width="2%"> <?php echo $i++; ?> </td> <td> <?php echo $row->title; ?> <input type="hidden" name="component_id[]" value="<?php echo $row->value; ?> " /> </td> <td align="center"> <?php if ($row->isfrontend == 1) { ?> <a href="javascript: void(0);" onclick="javascript: changeState(<?php echo $j; ?> );"><img id="img_<?php echo $j; ?> " src="images/tick.png" border="0" alt="<?php echo JText::_('Yes'); ?> " title="<?php echo JText::_('Yes'); ?> " /> <input type="hidden" id="cbx_<?php echo $j++; ?> " name="front_end_cb[]" value="1" /></a> <?php } else { ?> <a href="javascript: void(0);" onclick="javascript: changeState(<?php echo $j; ?> );"><img id="img_<?php echo $j; ?> " src="images/publish_x.png" border="0" alt="<?php echo JText::_('No'); ?> " title="<?php echo JText::_('No'); ?> " /> <input type="hidden" id="cbx_<?php echo $j++; ?> " name="front_end_cb[]" value="0" /></a> <?php } ?> </td> <td align="center"> <?php if ($row->isbackend == 1) { ?> <a href="javascript: void(0);" onclick="javascript: changeState(<?php echo $j; ?> );"><img id="img_<?php echo $j; ?> " src="images/tick.png" border="0" alt="<?php echo JText::_('Yes'); ?> " title="<?php echo JText::_('Yes'); ?> " /> <input type="hidden" id="cbx_<?php echo $j++; ?> " name="back_end_cb[]" value="1" /></a> <?php } else { ?> <a href="javascript: void(0);" onclick="javascript: changeState(<?php echo $j; ?> );"><img id="img_<?php echo $j; ?> " src="images/publish_x.png" border="0" alt="<?php echo JText::_('No'); ?> " title="<?php echo JText::_('No'); ?> " /> <input type="hidden" id="cbx_<?php echo $j++; ?> " name="back_end_cb[]" value="0" /></a> <?php } ?> </td> <td align="center"> <a href="javascript: void(0);" onclick="javascript:delete_row_c(this); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a> </td> <td width="auto"> </td> </tr> <?php $k = 1 - $k; } } ?> </tbody> </table> </fieldset> <?php echo $pane->endPanel(); echo $pane->startPanel('Menus', 'Menus'); ?> <fieldset class="adminform"> <legend><?php echo JText::_('Add New Item'); ?> </legend> <table class="adminform"> <tr> <td valign="top" width="10%"> <?php echo $lists['menuid']; ?> </td> <td valign="top" width="auto" align="left"> <input type="button" name="select_all" class="button" value="Select All" onclick="javascript: Select_all('menuid');" /><br/><br/> <input type="button" name="add" class="button" value="Add" onclick="javascript: addRowMenu();" /> </td> </tr> </table> </fieldset> <fieldset class="adminform"> <legend><?php echo $default_action == 'deny' ? JText::_('List of Allowed Menus') : JText::_('List of Forbidden Menus'); ?> </legend> <table class="adminlist" cellpadding="1"> <thead> <tr> <th width="2%" class="title"> <?php echo JText::_('NUM'); ?> </th> <th class="title" width="25%"> <?php echo JText::_('Menu Item'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Menu'); ?> </th> <th class="title" width="25%"> <?php echo JText::_('Parent'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Item ID'); ?> </th> <th class="title" width="15%"> <?php echo JText::_('Delete'); ?> <input type="button" name="clear_all" class="button" value="<?php echo JText::_('Clear All'); ?> " onclick="javascript: clearTable('list_body_menu');" /> </th> <th class="title" width="auto"> </th> </tr> </thead> <tbody id="list_body_menu"> <?php $k = 0; $i = 1; $j = 1; if (is_array($lists['menus']) && count($lists['menus'])) { foreach ($lists['menus'] as $row) { ?> <tr class="row<?php echo $k; ?> "> <td width="2%"> <?php echo $i++; ?> </td> <td> <?php echo $row->name; ?> <input type="hidden" name="menu_id[]" value="<?php echo $row->value; ?> " /> </td> <td> <?php echo $row->menu_name; ?> </td> <td> <?php echo $row->parent_name; ?> </td> <td align="center"> <?php echo $row->value; ?> </td> <td align="center"> <a href="javascript: void(0);" onclick="javascript:delete_row(this, 'list_body_menu'); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a> </td> <td width="auto"> </td> </tr> <?php $k = 1 - $k; } } ?> </tbody> </table> </fieldset> <?php echo $pane->endPanel(); echo $pane->startPanel('Modules', 'modules'); ?> <fieldset class="adminform"> <legend><?php echo JText::_('Add New Item'); ?> </legend> <table class="adminform"> <tr> <td valign="top" width="10%"> <?php echo $lists['moduleid']; ?> </td> <td valign="top" width="auto" align="left"> <input type="button" name="select_all" class="button" value="Select All" onclick="javascript: Select_all('moduleid');" /><br/><br/> <input type="button" name="add" class="button" value="Add" onclick="javascript: addRowM();" /> </td> </tr> </table> </fieldset> <fieldset class="adminform"> <legend><?php echo $default_action == 'deny' ? JText::_('List of Allowed Modules') : JText::_('List of Forbidden Modules'); ?> </legend> <table class="adminlist" cellpadding="1"> <thead> <tr> <th width="2%" class="title"> <?php echo JText::_('NUM'); ?> </th> <th class="title" width="25%"> <?php echo JText::_('Module'); ?> </th> <th class="title" width="15%"> <?php echo JText::_('Delete'); ?> <input type="button" name="clear_all" class="button" value="<?php echo JText::_('Clear All'); ?> " onclick="javascript: clearTable('list_body_m');" /> </th> <th class="title" width="5%"> <?php echo JText::_('ID'); ?> </th> <th class="title" width="10%"> <?php echo JText::_('Position'); ?> </th> <th class="title" width="15%"> <?php echo JText::_('Type'); ?> </th> <th class="title" width="10%" align="center"> <?php echo JText::_('Enabled'); ?> </th> <th class="title" width="auto"> </th> </tr> </thead> <tbody id="list_body_m"> <?php $k = 0; $i = 1; if (is_array($lists['modules']) && count($lists['modules'])) { foreach ($lists['modules'] as $row) { $img = $row->published ? 'tick.png' : 'publish_x.png'; $alt = $row->published ? JText::_('Published') : JText::_('Unpublished'); $published = '<img src="images/' . $img . '" border="0" alt="' . $alt . '" />'; ?> <tr class="row<?php echo $k; ?> "> <td width="2%"> <?php echo $i++; ?> </td> <td> <?php echo $row->title; ?> <input type="hidden" name="module_id[]" value="<?php echo $row->value; ?> " /> </td> <td align="center"> <a href="javascript: void(0);" onclick="javascript:delete_row_m(this); return false;" title="Delete"><img src="images/publish_x.png" border="0" alt="Delete"/></a> </td> <td align="center"> <?php echo $row->value; ?> </td> <td> <?php echo $row->position; ?> </td> <td> <?php echo $row->module; ?> </td> <td align="center"> <?php echo $published; ?> </td> <td width="auto"> </td> </tr> <?php $k = 1 - $k; } } ?> </tbody> </table> </fieldset> <?php echo $pane->endPanel(); # - Kobby added a panel for the redirects echo $pane->startPanel('Redirect', 'Redirect'); ?> <fieldset class="adminform"> <legend><?php echo JText::_('Login Redirect'); ?> </legend> <table class="adminform"> <tr> <td valign="top" width="10%">Frontend: </td> <td valign="top"> <input type="text" value="<?php echo @$lists['frontend_redirect']; ?> " name="frontend_redirect" size="100" /><br /> </td> </tr> <tr> <td valign="top" width="10%">Backend: </td> <td valign="top"> <input type="text" value="<?php echo @$lists['backend_redirect']; ?> " name="backend_redirect" size="100" /> <br /> </td> </tr> </table> </fieldset> <?php echo $pane->endPanel(); echo $pane->startPanel(JText::_('Article Submission'), 'Article Submission'); //Initialize the variables $fp_Yes = NULL; $meta_Yes = NULL; $startPub_Yes = NULL; $startPub_No = NULL; $finishPub_Yes = NULL; $finishPub_No = NULL; $au_Yes = NULL; $au_No = NULL; $ac_Yes = NULL; $ac_No = NULL; $meta_No = NULL; $fp_Yes = NULL; $fp_No = NULL; if (!array_key_exists('article_submissions', $lists)) { $lists['article_submissions'] = array(); } //newly created role or group if (!$lists['article_submissions']) { $fp_Yes = 'checked'; $meta_Yes = 'checked'; $startPub_Yes = 'checked'; $finishPub_Yes = 'checked'; $au_Yes = 'checked'; $ac_Yes = 'checked'; } for ($i = 0; $i < count($lists['article_submissions']); $i++) { switch ($i) { case 0: if ($lists['article_submissions'][$i] == '1') { $fp_Yes = 'checked'; } else { $fp_No = 'checked'; } break; case 1: if ($lists['article_submissions'][$i] == '1') { $meta_Yes = 'checked'; } else { $meta_No = 'checked'; } break; case 2: if ($lists['article_submissions'][$i] == '1') { $startPub_Yes = 'checked'; } else { $startPub_No = 'checked'; } break; case 3: if ($lists['article_submissions'][$i] == '1') { $finishPub_Yes = 'checked'; } else { $finishPub_No = 'checked'; } break; case 4: if ($lists['article_submissions'][$i] == '1') { $au_Yes = 'checked'; } else { $au_No = 'checked'; } break; case 5: if ($lists['article_submissions'][$i] == '1') { $ac_Yes = 'checked'; } else { $ac_No = 'checked'; } break; } } ?> <table class="adminlist" cellpadding="1"> <tr> <th width="22%">Items</th> <th width="22%">Choices</th> </tr> <tr> <td width="22%">Show Frontpage </td> <td width="22%"><input type="radio" name="show_frontpage" value="1" <?php echo $fp_Yes; ?> />Yes <input type="radio" name="show_frontpage" value="0" <?php echo $fp_No; ?> />No </td> </tr> <tr> <td width="22%">Show Start Publishing </td> <td width="22%"> <input type="radio" name="show_start_publishing" value="1" <?php echo $startPub_Yes; ?> />Yes <input type="radio" name="show_start_publishing" value="0" <?php echo $startPub_No; ?> />No </td> </tr> <tr> <td width="22%">Show Finish Publishing </td> <td width="22%"> <input type="radio" name="show_finish_publishing" value="1" <?php echo $finishPub_Yes; ?> />Yes <input type="radio" name="show_finish_publishing" value="0" <?php echo $finishPub_No; ?> />No </td> </tr> <tr> <td width="22%">Show Author Alias </td> <td width="22%"> <input type="radio" name="show_alias" value="1" <?php echo $au_Yes; ?> />Yes <input type="radio" name="show_alias" value="0" <?php echo $au_No; ?> />No </td> </tr> <tr> <td width="22%">Show Access Level </td> <td width="22%"> <input type="radio" name="show_access" value="1" <?php echo $ac_Yes; ?> />Yes <input type="radio" name="show_access" value="0" <?php echo $ac_No; ?> />No </td> </tr> <tr> <td width="22%">Show Metadata Fields </td> <td width="22%"> <input type="radio" name="show_metadata" value="1" <?php echo $meta_Yes; ?> />Yes <input type="radio" name="show_metadata" value="0" <?php echo $meta_No; ?> />No </td> </tr> </table> <?php echo $pane->endPanel(); // added 3rd party plugin support -BUR 01/18/2011 if (JPluginHelper::isEnabled('system', 'cacl_docman')) { plgSystemCacl_docman::getAdminUi($pane, $lists, $default_action); } //end 3rd party plugin support //adam added 3rd party plugin support if (JPluginHelper::isEnabled('system', 'cacl_joomsocial')) { plgSystemCacl_joomsocial::getAdminUi($pane, $lists, $default_action); } //end adam added 3rd party plugin support echo $pane->endPane(); ?> <input type="hidden" name="option" value="com_community_acl" /> <input type="hidden" name="id" value="<?php echo $id; ?> " /> <input type="hidden" name="task" value="" /> <input type="hidden" name="mode" value="<?php echo $mode; ?> " /> <input type="hidden" name="redirect" value="<?php echo $redirect; ?> " /> <?php echo JHTML::_('form.token'); ?> </form> <?php left_menu_footer(); }