/** * Get an usergroup element * * @param string $name Name of element * @param string $value Value of element * @param string $node Node of element * @param string $control_name Name of controler * * @return string html */ function usergroup($name, $value, $node, $control_name) { $jname = $this->getJname(); // Get the master plugin to be throughout $master = JFusionFunction::getMaster(); $advanced = 0; // Detect is value is a serialized array if (substr($value, 0, 2) == 'a:') { $value = unserialize($value); // Use advanced only if this plugin is not set as master if ($master->name != $this->getJname()) { $advanced = 1; } } if (JFusionFunction::validPlugin($this->getJname())) { $usergroups = $this->getUsergroupList(); foreach ($usergroups as $group) { $g[] = $group->name; } $comma_separated = implode(",", $g); $simple_value = $value; if (is_array($simple_value)) { $simple_value = $comma_separated; } if (!empty($usergroups)) { $simple_usergroup = "<table style=\"width:100%; border:0\">"; $simple_usergroup .= '<tr><td>' . JText::_('DEFAULT_USERGROUP') . '</td><td><input type="text" name="' . $control_name . '[' . $name . ']" value="' . $simple_value . '" class="inputbox" /></td></tr>'; $simple_usergroup .= "</table>"; } else { $simple_usergroup = ''; } } else { return JText::_('SAVE_CONFIG_FIRST'); } // Check to see if current plugin is a slave $db =& JFactory::getDBO(); $query = 'SELECT slave FROM #__jfusion WHERE name = ' . $db->Quote($jname); $db->setQuery($query); $slave = $db->loadResult(); $list_box = '<select onchange="usergroupSelect(this.selectedIndex);">'; if ($advanced == 1) { $list_box .= '<option value="0" selected="selected">Simple</option>'; } else { $list_box .= '<option value="0">Simple</option>'; } if ($slave == 1) { // Allow usergroup sync if ($advanced == 1) { $list_box .= '<option selected="selected" value="1">Avanced</option>'; } else { $list_box .= '<option value="1">Avanced</option>'; } // Prepare the advanced options $JFusionMaster = JFusionFactory::getAdmin($master->name); $master_usergroups = $JFusionMaster->getUsergroupList(); $advanced_usergroup = "<table class=\"usergroups\">"; if ($advanced == 1) { foreach ($master_usergroups as $master_usergroup) { $advanced_usergroup .= "<tr><td>" . $master_usergroup->name . '</td>'; $advanced_usergroup .= '<td><input type="text" name="' . $control_name . '[' . $name . '][' . $master_usergroup->id . ']" value="' . $value[$master_usergroup->id] . '" class="inputbox" /></td></tr>'; } } else { foreach ($master_usergroups as $master_usergroup) { $advanced_usergroup .= "<tr><td>" . $master_usergroup->name . '</td>'; $advanced_usergroup .= '<td><input type="text" name="' . $control_name . '[' . $name . '][' . $master_usergroup->id . ']" value="' . $comma_separated . '" class="inputbox" /></td></tr>'; } } $advanced_usergroup .= "</table>"; } else { $advanced_usergroup = ''; } $list_box .= '</select>'; ?> <script Language="JavaScript"> function usergroupSelect(option) { var myArray = new Array(); myArray[0] = '<?php echo $simple_usergroup; ?> '; myArray[1] = '<?php echo $advanced_usergroup; ?> '; document.getElementById("JFusionUsergroup").innerHTML = myArray[option]; } </script> <?php if ($advanced == 1) { return JText::_('USERGROUP') . ' ' . JText::_('MODE') . ': ' . $list_box . '<br/><div id="JFusionUsergroup">' . $advanced_usergroup . '</div>'; } else { return JText::_('USERGROUP') . ' ' . JText::_('MODE') . ': ' . $list_box . '<br/><div id="JFusionUsergroup">' . $simple_usergroup . '</div>'; } }