예제 #1
0
파일: admin.php 프로젝트: Fabrik/website
    /**
     * 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>';
        }
    }