216 Zeilen
Kein EOL
9 KiB
PHP
216 Zeilen
Kein EOL
9 KiB
PHP
<?php
|
|
/**
|
|
* Project:
|
|
* Contenido Content Management System
|
|
*
|
|
* Description:
|
|
* Add new module
|
|
*
|
|
* Requirements:
|
|
* @con_php_req 5.0
|
|
*
|
|
*
|
|
* @package Contenido Backend includes
|
|
* @version $Id$
|
|
* @author unknown
|
|
* @copyright four for business AG <www.4fb.de>
|
|
* @license http://www.contenido.org/license/LIZENZ.txt
|
|
* @link http://www.4fb.de
|
|
* @link http://www.contenido.org
|
|
* @since file available since contenido release <= 4.6
|
|
*/
|
|
|
|
if(!defined('CON_FRAMEWORK')) {
|
|
die('Illegal call');
|
|
}
|
|
|
|
if (!isset($_REQUEST["elemperpage"]) || !is_numeric($_REQUEST['elemperpage']) || $_REQUEST['elemperpage'] < 0) {
|
|
$oUser = new cApiUser($auth->auth["uid"]);
|
|
$_REQUEST["elemperpage"] = $oUser->getProperty("itemsperpage", $area);
|
|
unset($oUser);
|
|
}
|
|
|
|
$tpl->reset();
|
|
|
|
#################
|
|
# New Module Link
|
|
#################
|
|
$str = '';
|
|
if ((int) $client > 0) {
|
|
#######
|
|
# Sync Module
|
|
#######
|
|
$oModuleCollection = new cApiModuleCollection;
|
|
$oModuleCollection->setWhere("idclient", $client);
|
|
|
|
$oModuleCollection->query();
|
|
$iItemCount = $oModuleCollection->count();
|
|
|
|
// sync all modules if wanted
|
|
if(isset($_GET['syncmod']) && (int) $_GET['syncmod'] == 1) {
|
|
|
|
/* @var $oModule cApiModule */
|
|
while ($oModule = $oModuleCollection->next()) {
|
|
if(!$oModule->isLoadedFromFile('output') && !$oModule->isLoadedFromFile('input')) continue;
|
|
if($oModule->isLoadedFromFile('output')) {
|
|
$oModule->set("output", addslashes(stripslashes($oModule->get('output'))));
|
|
}
|
|
if($oModule->isLoadedFromFile('input')) {
|
|
$oModule->set("input", addslashes(stripslashes($oModule->get('input'))));
|
|
}
|
|
$oModule->set("lastmodified", date("Y-m-d H:i:s"));
|
|
$oModule->store();
|
|
unset($oModule);
|
|
}
|
|
}
|
|
unset($oModuleCollection);
|
|
|
|
$str = '<div style="height: 2.5em; border: 1px solid #B3B3B3;padding-left:15px;">';
|
|
$str .= '<a style="margin-top:5px;" class="addfunction" target="right_bottom" href="'.clHtmlSpecialChars($sess->url("main.php?area=mod_edit&frame=4&action=mod_new")).'">'.i18n("New module").'</a>'."\n";
|
|
if($cfg['dceModEdit']['use'] == true && $iItemCount > 0) {
|
|
$str .= '<a style="margin:5px 0 0 10px;" target="right_bottom" class="syncmod" href="'.clHtmlSpecialChars($sess->self_url(array('syncmod'=>1,'area'=>'mod_sync','frame'=>4))).'">'."\n";
|
|
$str .= i18n("Sync module").'</a>';
|
|
}
|
|
$str .= '<div style="clear: both;"></div></div>';
|
|
} else {
|
|
$str = '<div style="min-height: 2.5em;line-height: 2.5em;border: 1px solid #B3B3B3;padding-left:15px;">'.i18n('No Client selected').'</div>';
|
|
}
|
|
|
|
#only show other options, if there is a active client
|
|
if ((int) $client > 0) {
|
|
|
|
$_REQUEST['page'] = (isset($_REQUEST['page']))?(int)$_REQUEST['page']:1;
|
|
|
|
###############
|
|
# List Options
|
|
###############
|
|
$aSortByOptions = array ("name" => i18n("Name"), "type" => i18n("Type"));
|
|
$aSortOrderOptions = array ("asc" => i18n("Ascending"), "desc" => i18n("Descending"));
|
|
$_REQUEST['sortby'] = (isset($_REQUEST['sortby']) && array_key_exists($_REQUEST['sortby'], $aSortByOptions))?
|
|
$_REQUEST['sortby']:'';
|
|
$_REQUEST['sortorder'] = (isset($_REQUEST['sortorder']) && array_key_exists($_REQUEST['sortorder'], $aSortOrderOptions))?
|
|
$_REQUEST['sortorder']:'';
|
|
$listoplink="listoptions";
|
|
$oListOptionRow = new cFoldingRow("e9ddf415-4b2d-4a75-8060-c3cd88b6ff98", i18n("List options"), $listoplink);
|
|
$tpl->set('s', 'LISTOPLINK', $listoplink);
|
|
$oSelectItemsPerPage = new cHTMLSelectElement("elemperpage");
|
|
$oSelectItemsPerPage->autoFill(array(0 => i18n("-- All --"), 25 => 25, 50 => 50, 75 => 75, 100 => 100));
|
|
$oSelectItemsPerPage->setDefault($_REQUEST["elemperpage"]);
|
|
$oSelectSortBy = new cHTMLSelectElement("sortby");
|
|
$oSelectSortBy->autoFill($aSortByOptions);
|
|
$oSelectSortBy->setDefault($_REQUEST["sortby"]);
|
|
$oSelectSortOrder = new cHTMLSelectElement("sortorder");
|
|
$oSelectSortOrder->autoFill($aSortOrderOptions);
|
|
$oSelectSortOrder->setDefault($_REQUEST["sortorder"]);
|
|
|
|
$oSelectSearchIn = new cHTMLSelectElement("searchin");
|
|
$oSelectSearchIn->autoFill(array('' => i18n("-- All --"),
|
|
'name' => i18n("Modulname"),
|
|
'description' => i18n("Description"),
|
|
'type' => i18n("Type"),
|
|
'input' => i18n("Input"),
|
|
'output' => i18n("Output")));
|
|
|
|
if(isset($_REQUEST["searchin"])) $oSelectSearchIn->setDefault($_REQUEST["searchin"]);
|
|
|
|
// build list with filter types
|
|
$sql = "SELECT
|
|
type
|
|
FROM
|
|
".$cfg["tab"]["mod"]."
|
|
WHERE
|
|
idclient = '".Contenido_Security::toInteger($client)."'
|
|
GROUP BY type";
|
|
|
|
$db->query($sql);
|
|
$aFilterType = array();
|
|
$aFilterType["--all--"] = i18n("-- All --");
|
|
$aFilterType["--wotype--"] = i18n("-- Without type --");
|
|
|
|
while ($db->next_record())
|
|
{
|
|
if (trim($db->f("type")) != "")
|
|
{
|
|
$aFilterType[$db->f("type")] = $db->f("type");
|
|
}
|
|
}
|
|
|
|
$oSelectTypeFilter = new cHTMLSelectElement("filtertype");
|
|
$oSelectTypeFilter->autoFill($aFilterType);
|
|
if(isset($_REQUEST["filtertype"])) $oSelectTypeFilter->setDefault($_REQUEST["filtertype"]);
|
|
$_REQUEST["filter"] = (isset($_REQUEST["filter"]))?$_REQUEST["filter"]:'';
|
|
$oTextboxFilter = new cHTMLTextbox("filter", stripslashes($_REQUEST["filter"]), 15);
|
|
$content = '<div style="border: 1px solid #B3B3B3;border-left:none;border-top:none;margin-bottom:1px;">';
|
|
// Ye stuff will be done in javascript on apply button
|
|
$content .= '<form action="javascript:execFilter(\''.$sess->id.'\');" id="filter" name="filter" method="get">';
|
|
$content .= '<input type="hidden" name="area" value="mod">';
|
|
$content .= '<input type="hidden" name="frame" value="1">';
|
|
$content .= '<input type="hidden" name="contenido" value="'.$sess->id.'">';
|
|
//$content .= '<input type="hidden" name="'.$formcall.'" value="'.$formcall.'">';
|
|
if(isset($_REQUEST["page"])) $content .= '<input type="hidden" name="page" value="'.(int) $_REQUEST["page"].'">';
|
|
$content .= '<table>';
|
|
$content .= '<tr>';
|
|
$content .= '<td style="padding-left:15px;white-space: nowrap;">'.i18n("Items / page").'</td>';
|
|
$content .= '<td>'.$oSelectItemsPerPage->render().'</td>';
|
|
$content .= '</tr>';
|
|
$content .= '<tr>';
|
|
$content .= '<td style="padding-left:15px;">'.i18n("Sort by").'</td>';
|
|
$content .= '<td>'.$oSelectSortBy->render().'</td>';
|
|
$content .= '</tr>';
|
|
$content .= '<tr>';
|
|
$content .= '<td style="padding-left:15px;">'.i18n("Sort order").'</td>';
|
|
$content .= '<td>'.$oSelectSortOrder->render().'</td>';
|
|
$content .= '</tr>';
|
|
$content .= '<tr>';
|
|
$content .= '<td style="padding-left:15px;">'.i18n("Type filter").'</td>';
|
|
$content .= '<td>'.$oSelectTypeFilter->render().'</td>';
|
|
$content .= '</tr>';
|
|
$content .= '<tr>';
|
|
$content .= '<td style="padding-left:15px;">'.i18n("Search for").'</td>';
|
|
$content .= '<td>'.$oTextboxFilter->render().'</td>';
|
|
$content .= '</tr>';
|
|
$content .= '<tr>';
|
|
$content .= '<td style="padding-left:15px;">'.i18n("Search in").'</td>';
|
|
$content .= '<td>'.$oSelectSearchIn->render().'</td>';
|
|
$content .= '</tr>';
|
|
$content .= '<tr>';
|
|
$content .= '<td style="padding-left:15px;"> </td>';
|
|
$content .= '<td><input type="submit" value="'.i18n("Apply").'"></td>';
|
|
$content .= '</tr>';
|
|
$content .= '</table>';
|
|
$content .= '</form>';
|
|
$content .= '</div>';
|
|
$oListOptionRow->setContentData($content);
|
|
|
|
#######
|
|
# Pager
|
|
#######
|
|
$oPagerLink = new cHTMLLink;
|
|
$pagerl="pagerlink";
|
|
$oPagerLink->setTargetFrame('left_bottom');
|
|
$oPagerLink->setLink("main.php");
|
|
$oPagerLink->setCustom("elemperpage", $_REQUEST["elemperpage"]);
|
|
$oPagerLink->setCustom("filter", stripslashes($_REQUEST["filter"]));
|
|
$oPagerLink->setCustom("sortby", $_REQUEST["sortby"]);
|
|
$oPagerLink->setCustom("sortorder", $_REQUEST["sortorder"]);
|
|
$oPagerLink->setCustom("frame", 2);
|
|
$oPagerLink->setCustom("area", $area);
|
|
$oPagerLink->enableAutomaticParameterAppend();
|
|
$oPagerLink->setCustom("contenido", $sess->id);
|
|
$oPager = new cObjectPager("02420d6b-a77e-4a97-9395-7f6be480f497", $iItemCount, $_REQUEST["elemperpage"], $_REQUEST["page"], $oPagerLink, "page", $pagerl);
|
|
|
|
$tpl->set('s', 'PAGINGLINK', $pagerl);
|
|
|
|
|
|
$tpl->set('s', 'ACTION', $str.'<table style="margin-top:1px">'.$oListOptionRow->render().$oPager ->render().'</table>');
|
|
} else {
|
|
$tpl->set('s', 'PAGINGLINK', '');
|
|
$tpl->set('s', 'ACTION', $str);
|
|
$tpl->set('s', 'LISTOPLINK', '');
|
|
}
|
|
|
|
############################
|
|
# generate template
|
|
############################
|
|
$tpl->generate($cfg['path']['templates'] . $cfg['templates']['mod_left_top']);
|
|
?>
|