function showUserAccessA($group_id = 0, $role_id = 0) { global $mainframe, $option; $limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int'); $limitstart = $mainframe->getUserStateFromRequest($option . '.limitstart', 'limitstart', 0, 'int'); $db =& JFactory::getDBO(); $mode = JRequest::getCmd('mode'); $lists = array(); $query = 'SELECT id AS value, name AS text' . ' FROM `#__community_acl_functions`' . ' ORDER BY name'; $db->setQuery($query); $functions[] = JHTML::_('select.option', '0', JText::_('None'), 'value', 'text'); $functions = @array_merge($functions, $db->loadObjectList()); //$functions = $db->loadObjectList(); $lists['cacl_fid'] = JHTML::_('select.genericlist', $functions, 'cacl_func_list', ' class="inputbox" size="1" ', 'value', 'text', null); if (count($functions) < 1) { $lists['cacl_fid'] = JText::_('There is no functions'); } if ($group_id) { $query = "SELECT `user_id` FROM `#__community_acl_users` AS a WHERE `group_id` = '{$group_id}' "; } else { $query = "SELECT `user_id` FROM `#__community_acl_users` AS a WHERE `role_id` = '{$role_id}' "; } $db->setQuery($query); $users = $db->loadResultArray(); $users[] = -1; $query = "SELECT COUNT(*) FROM `#__users` AS b WHERE b.id NOT IN ('" . implode("','", $users) . "')"; $db->setQuery($query); $total = (int) $db->loadResult(); jimport('joomla.html.pagination'); $pagination = new JPagination($total, $limitstart, $limit); $query = "SELECT b.*, `c`.`name` AS `groupname` FROM `#__users` AS b LEFT JOIN `#__core_acl_aro_groups` AS c ON `b`.`gid` = c.id WHERE b.id NOT IN ('" . implode("','", $users) . "') ORDER BY b.email ASC"; $db->setQuery($query, $pagination->limitstart, $pagination->limit); $rows = $db->loadObjectList(); /* Kobby's modification: * Users must select a Role before they can select a Group */ $role_selected = JRequest::getVar('role_selected', false); if ($role_selected == false && $mode == 'group_id') { $cid = JRequest::getVar('cid'); $cid = $cid[0]; $tmp_arr = array(); $javascript = 'onchange="return continueLink();"'; $roles[] = JHTML::_('select.option', '-1', '- ' . JText::_('Select Role') . ' -'); $query = 'SELECT id AS value, name AS text, group_id' . ' FROM `#__community_acl_roles`' . ' WHERE group_id = ' . $group_id . ' ORDER BY group_id, name'; $db->setQuery($query); $roles = @array_merge($roles, $db->loadObjectList()); $lists['cacl_rid_arr'] = $tmp_arr; $lists['cacl_rid'] = JHTML::_('select.genericlist', $roles, 'cacl_role_list', ' class="inputbox" size="1" ' . $javascript, 'value', 'text', null); if (count($roles) < 1) { $lists['cacl_rid'] = JText::_('There is no roles'); } left_menu_header(); ?> <script type="text/javascript"> function continueLink(){ var gid = (document.getElementById('cacl_role_list').value); if (gid == -1) { alert('Please select a valid role'); return; } var previousInnerHTML = new String(); var cid = document.getElementById('cid').value; previousInnerHTML = document.getElementById('continue').innerHTML; previousInnerHTML = ("<a href=\"index.php?option=com_community_acl&task=add_users_access&mode=group_id&role_id="+ gid +"&role_selected=true&cid[]="+ cid + "\">Continue</a>"); document.getElementById('continue').innerHTML = previousInnerHTML; } </script> <?php echo '<b>Please select a Role</b><br/><br/>'; $cid = JRequest::getVar('cid'); $cid = $cid[0]; echo $lists['cacl_rid']; echo '<br /><br />'; ?> <div id="continue" name="continue"></div> <input id="cid" name="cid" type="hidden" value="<?php echo $cid; ?> " /> <?php
function synchronize() { global $option; $db =& JFactory::getDBO(); $config = new CACL_config($db); $config->load(); left_menu_header(); ?> <script language="javascript" type="text/javascript"> function submitbutton(pressbutton) { <?php if (!$config->synchronize) { ?> alert('Synchronization is not enabled in configuration!') <?php } else { ?> jQuery('div#message').get(0).style.display = 'none'; jQuery('div#image').get(0).style.display = ''; submitform(pressbutton); <?php } ?> } </script> <form action="index.php" method="post" name="adminForm"> <table class="adminlist"> <tr><th class="title">Synchonization</th></tr> <tr><td><br /> <div id="message" style="width:100%; text-align:left;"> <?php if (!$config->synchronize) { ?> <strong>Synchronization is not enabled in configuration!</strong> <?php } else { ?> <strong>Items to synchronize (defined in configuration):</strong> <table> <tr><td>Joomla! users and CB users fields:</td><td><img border="0" alt="Published" src="images/<?php echo $config->users_and_cb ? 'tick.png' : 'publish_x.png'; ?> " /> </td></tr> <tr><td>CB Contact component:</td><td><img border="0" alt="Published" src="images/<?php echo $config->cb_contact ? 'tick.png' : 'publish_x.png'; ?> " /> </td></tr> <tr><td>Community ACL Groups, Roles, Functions and access restrictions:</td><td><img border="0" alt="Published" src="images/<?php echo $config->cacl_grf ? 'tick.png' : 'publish_x.png'; ?> " /> </td></tr> </table><br /> <strong><?php echo JText::_('Press `Synchronize` button to begin.'); ?> </strong> <?php } ?> </div> <div id="image" style="width:100%; text-align:left; display:none;"> <img src="<?php echo substr_replace(JURI::root(), '', -1, 1); ?> /administrator/components/<?php echo $option; ?> /images/progress.gif" alt="Synchonization in progress" title="" border="" /><br /> <?php echo JText::_('Synchonization in progress. Please wait, it may take some time.'); ?> </div> </td> </tr> </table> <input type="hidden" name="option" value="com_community_acl" /> <input type="hidden" name="task" value="" /> </form> <?php left_menu_footer(); }