コード例 #1
0
    /**
     * Get code for
     * @param string $PluginType
     * @return string 
     */
    private function getCodeFor($PluginType)
    {
        $Factory = new PluginFactory();
        $Plugins = $Factory->completeData($PluginType);
        usort($Plugins, $this->pluginOrderFunction());
        if (empty($Plugins)) {
            return HTML::info(__('No plugins available.'));
        }
        $Code = '
			<table class="zebra-style fullwidth more-padding">
				<thead>
					<tr class="top b">
						<th colspan="3">' . PluginType::readableString($PluginType) . '</th>
						<th>' . __('Mode') . '</th>
						<th>' . __('Order') . '</th>
						<th></th>
					</tr>
				</thead>
				<tbody>';
        foreach ($Plugins as $pos => $Data) {
            $Plugin = $Factory->newInstance($Data['key']);
            if ($Plugin === false) {
                $Code .= '
					<tr class="unimportant">
						<td>' . PluginInstaller::uninstallLink($Plugin->key()) . '</td>
						<td class="b">' . $Plugin->key() . '</td>
						<td colspan="4">' . __('The plugin cannot be found.') . '</td>
					</tr>';
            } else {
                $Code .= '
					<tr id="' . $Plugin->id() . '_tr" class="a' . ($Plugin->isInActive() ? ' unimportant' : '') . '">
						<td>' . $Plugin->getConfigLink() . '</td>
						<td class="b">' . $Plugin->name() . '</td>
						<td>' . $Plugin->description() . '</td>
						<td><select name="plugin_modus_' . $Plugin->id() . '">
								<option value="' . Plugin::ACTIVE . '"' . HTML::Selected($Plugin->isActive()) . '>' . __('enabled') . '</option>
								<option value="' . Plugin::ACTIVE_VARIOUS . '"' . HTML::Selected($Plugin->isHidden()) . '>' . __('hidden*') . '</option>
								<option value="' . Plugin::ACTIVE_NOT . '"' . HTML::Selected($Plugin->isInActive()) . '>' . __('not enabled') . '</option>
							</select></td>
						<td style="white-space:nowrap;">
							<input class="plugin-position" type="text" name="plugin_order_' . $Plugin->id() . '" size="3" value="' . ($pos + 1) . '">
							<span class="link" onclick="pluginMove(' . $Plugin->id() . ', \'up\')">' . Icon::$UP . '</span>
							<span class="link" onclick="pluginMove(' . $Plugin->id() . ', \'down\')">' . Icon::$DOWN . '</span>
						</td>
						<td>' . PluginInstaller::uninstallLink($Plugin->key()) . '</td>
					</tr>';
            }
        }
        $Code .= '
				</tbody>
			</table>';
        $Code .= Ajax::wrapJS('
			function pluginMove(id, way) {
				var pos = parseInt($("input[name=\'plugin_order_"+id+"\']").val()),
					tr = $("#"+id+"_tr");

				if (way == "up" && pos > 1) {
					$("#"+id+"_tr .plugin-position").val(pos-1);
					tr.prev().find(".plugin-position").val(pos);
					tr.prev().toggleClass("swapped");
					tr.prev().before(tr);
				} else if (way == "down" && tr.next().find(".plugin-position").val() > 0) {
					$("#"+id+"_tr .plugin-position").val(pos+1);
					tr.next().find(".plugin-position").val(pos);
					tr.next().toggleClass("swapped");
					tr.next().after(tr);
				}

				tr.toggleClass("swapped");
			}
		');
        switch ($PluginType) {
            case 'panel':
                $Code .= HTML::info(__('* Hidden plugins only show their headings.'));
                break;
            case 'stat':
                $Code .= HTML::info(__('* Hidden plugins are grouped as \'Miscellaneous\'.'));
                break;
            case 'tool':
            default:
                $Code .= '';
        }
        return $Code;
    }
コード例 #2
0
    /**
     * Get code for
     * @param string $PluginType
     * @return string 
     */
    private function getCodeFor($PluginType)
    {
        $Factory = new PluginFactory();
        $Plugins = $Factory->completeData($PluginType);
        usort($Plugins, $this->pluginOrderFunction());
        if (empty($Plugins)) {
            return HTML::info(__('No plugins available.'));
        }
        $Code = '
			<table class="zebra-style fullwidth more-padding">
				<thead>
					<tr class="top b">
						<th colspan="3">' . PluginType::readableString($PluginType) . '</th>
						<th>' . __('Mode') . '</th>
						<th>' . __('Order') . '</th>
						<th></th>
					</tr>
				</thead>
				<tbody>';
        foreach ($Plugins as $Data) {
            $Plugin = $Factory->newInstance($Data['key']);
            if ($Plugin === false) {
                $Code .= '
					<tr class="unimportant">
						<td>' . PluginInstaller::uninstallLink($Plugin->key()) . '</td>
						<td class="b">' . $Plugin->key() . '</td>
						<td colspan="4">' . __('The plugin cannot be found.') . '</td>
					</tr>';
            } else {
                $Code .= '
					<tr class="a' . ($Plugin->isInActive() ? ' unimportant' : '') . '">
						<td>' . $Plugin->getConfigLink() . '</td>
						<td class="b">' . $Plugin->name() . '</td>
						<td>' . $Plugin->description() . '</td>
						<td><select name="plugin_modus_' . $Plugin->id() . '">
								<option value="' . Plugin::ACTIVE . '"' . HTML::Selected($Plugin->isActive()) . '>' . __('enabled') . '</option>
								<option value="' . Plugin::ACTIVE_VARIOUS . '"' . HTML::Selected($Plugin->isHidden()) . '>' . __('hidden*') . '</option>
								<option value="' . Plugin::ACTIVE_NOT . '"' . HTML::Selected($Plugin->isInActive()) . '>' . __('not enabled') . '</option>
							</select></td>
						<td><input type="text" name="plugin_order_' . $Plugin->id() . '" size="3" value="' . $Plugin->order() . '"></td>
						<td>' . PluginInstaller::uninstallLink($Plugin->key()) . '</td>
					</tr>';
            }
        }
        $Code .= '
				</tbody>
			</table>';
        switch ($PluginType) {
            case 'panel':
                $Code .= HTML::info(__('* Hidden plugins only show their headings.'));
                break;
            case 'stat':
                $Code .= HTML::info(__('* Hidden plugins are grouped as \'Miscellaneous\'.'));
                break;
            case 'tool':
            default:
                $Code .= '';
        }
        return $Code;
    }