1
0
Fork 0
Dieser Commit ist enthalten in:
Ortwin Pinke 2019-11-04 16:12:11 +01:00 committet von GitHub
Ursprung 46f679b77f
Commit 691c2ffaf0
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23
29 geänderte Dateien mit 2654 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -0,0 +1,30 @@
<?php
/**
* File:
* config.autoloader.php
*
* @package Plugins
* @subpackage Newsletter
* @version $Rev: 128 $
* @since 2.0
* @author Ortwin Pinke <o.pinke@conlite.org>
* @copyright 2015 CL-Team
* @link http://www.conlite.org
*
* $Id: config.autoloader.php 128 2019-07-03 11:58:28Z oldperl $
*/
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
$sAutoloadClassPath = 'conlite/plugins/content_allocation/classes/';
return array(
'pApiContentAllocation' => $sAutoloadClassPath.'class.content_allocation.php',
'pApiContentAllocationArticle' => $sAutoloadClassPath.'class.content_allocation_article.php',
'pApiContentAllocationComplexList' => $sAutoloadClassPath.'class.content_allocation_complexlist.php',
'pApiContentAllocationSelectBox' => $sAutoloadClassPath.'class.content_allocation_selectbox.php',
'pApiTree' => $sAutoloadClassPath.'class.content_allocation_tree.php',
'pApiContentAllocationTreeView' => $sAutoloadClassPath.'class.content_allocation_treeview.php'
);
?>

65
includes/config.plugin.php Normale Datei
Datei anzeigen

@ -0,0 +1,65 @@
<?php
/**
* Project:
* Contenido Content Management System
*
* Description:
* Config file for Content Allocation plugin
*
* Requirements:
* @con_php_req 5.0
*
*
* @package Contenido Backend plugins
* @version 1.0.1
* @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
*
* {@internal
* created unknown
* modified 2008-07-02, Frederic Schneider, add security fix
*
* $Id: config.plugin.php 128 2019-07-03 11:58:28Z oldperl $:
* }}
*
*/
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
// plugin includes
plugin_include('content_allocation', 'classes/class.content_allocation_tree.php');
plugin_include('content_allocation', 'classes/class.content_allocation_treeview.php');
plugin_include('content_allocation', 'classes/class.content_allocation_article.php');
plugin_include('content_allocation', 'classes/class.content_allocation.php');
plugin_include('content_allocation', 'classes/class.content_allocation_complexlist.php');
// plugin_variables
$cfg['tab']['pica_alloc'] = $cfg['sql']['sqlprefix'].'_pica_alloc';
$cfg['tab']['pica_alloc_con'] = $cfg['sql']['sqlprefix'].'_pica_alloc_con';
$cfg['tab']['pica_lang'] = $cfg['sql']['sqlprefix'].'_pica_lang';
$cfg['pica']['logpath'] = $cfg['path']['contenido'] . $cfg['path']['plugins'] . 'repository/log/data/';
$cfg['pica']['loglevel'] = 'warn';
$cfg['pica']['treetemplate'] = $cfg['path']['contenido'] . $cfg['path']['plugins'] . 'content_allocation/templates/template.tree_structure.html';
$cfg['pica']['treetemplate_article'] = $cfg['path']['contenido'] . $cfg['path']['plugins'] . 'content_allocation/templates/template.tree_article.html';
$cfg['pica']['treetemplate_complexlist'] = $cfg['path']['contenido'] . $cfg['path']['plugins'] . 'content_allocation/templates/template.tree_complexlist.html';
$cfg['pica']['style_complexlist'] = $cfg['path']['contenido_fullhtml'] . $cfg['path']['plugins'] . 'content_allocation/style/complexlist.css';
$cfg['pica']['script_complexlist'] = $cfg['path']['contenido_fullhtml'] . $cfg['path']['plugins'] . 'content_allocation/scripts/complexlist.js';
// administration > users > area translations
global $lngAct, $_cecRegistry;
$lngAct['con_contentallocation']['storeallocation'] = i18n("Store content allocations", "content_allocation");
plugin_include('content_allocation', 'includes/functions.chains.php');
$_cecRegistry->addChainFunction("Contenido.Article.RegisterCustomTab", "pica_RegisterCustomTab");
$_cecRegistry->addChainFunction("Contenido.Article.GetCustomTabProperties", "pica_GetCustomTabProperties");
?>

Datei anzeigen

@ -0,0 +1,67 @@
<?php
/**
* Project:
* Contenido Content Management System
*
* Description:
* Chains for Content Allocation
*
* Requirements:
* @con_php_req 5.0
*
*
* @package Contenido Backend plugins
* @version 1.0.1
* @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
*
* {@internal
* created unknown
* modified 2008-07-02, Frederic Schneider, add security fix
*
* $Id: functions.chains.php 128 2019-07-03 11:58:28Z oldperl $:
* }}
*
*/
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
function pica_RegisterCustomTab ()
{
return array("con_contentallocation");
}
function pica_GetCustomTabProperties ($sIntName)
{
if ($sIntName == "con_contentallocation")
{
return array("con_contentallocation", "con_edit", "");
}
}
function pica_ArticleListActions ($aActions)
{
$aTmpActions["con_contentallocation"] = "con_contentallocation";
return $aTmpActions + $aActions;
}
function pica_RenderArticleAction ($idcat, $idart, $idartlang, $actionkey)
{
global $sess;
if ($actionkey == "con_contentallocation")
{
return '<a title="'.i18n("Content Allocation", "content_allocation").'" alt="'. i18n("Content Allocation", "content_allocation").'" href="'.$sess->url('main.php?area=con_contentallocation&action=con_edit&idart='.$idart.'&idartlang='.$idartlang.'&idcat='.$idcat.'&frame=4').'"><img src="plugins/content_allocation/images/call_contentallocation.gif"></a>';
} else {
return "";
}
}
?>

Datei anzeigen

@ -0,0 +1,132 @@
<?php
/**
* Project:
* Contenido Content Management System
*
* Description:
* Content Allocation Articles
*
* Requirements:
* @con_php_req 5.0
*
*
* @package Contenido Backend plugins
* @version 1.0.1
* @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
*
* {@internal
* created unknown
* modified 2008-07-02, Frederic Schneider, add security fix
*
* $Id: include.contentallocation_article.php 128 2019-07-03 11:58:28Z oldperl $:
* }}
*
*/
if (!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
// check requests
Contenido_Security::checkRequests();
if (!($perm->have_perm_area_action($area, "storeallocation") || $perm->have_perm_area_action_item($area, "storeallocation", $idcat))) {
$notification->displayNotification("error", i18n("Permission denied", "content_allocation"));
return;
}
cInclude("includes", "functions.pathresolver.php");
function str_replace_recursive($array) {
if (!is_array($array))
return false;
$result = array();
foreach ($array as $value) {
$result[] = str_replace("e", "", $value);
}
return $result;
}
// fetch idartlang for idart
$sql = "SELECT idartlang FROM " . $cfg['tab']['art_lang'] . " WHERE idart=" . Contenido_Security::toInteger($idart) . " AND idlang=" . Contenido_Security::toInteger($lang);
$db->query($sql);
$db->next_record();
$this_idartlang = $db->f('idartlang');
$oPage = new cPage;
$oPage->setMargin(10);
$oTree = new pApiContentAllocationComplexList('06bd456d-fe76-40cb-b041-b9ba90dc400a');
$oAlloc = new pApiContentAllocation;
if ($_POST['action'] == 'storeallocation') {
$oAlloc->storeAllocations($this_idartlang, $_POST['allocation']);
}
if ($_GET['step'] == 'collapse') {
$oTree->setTreeStatus($_GET['idpica_alloc']);
}
#build category path
$catString = '';
prCreateURLNameLocationString($idcat, '/', $catString);
$oArticle = new Article($idart, $client, $lang);
$sArticleTitle = $oArticle->getField('title');
$sLocationString = "<div class=\"categorypath\">" . $catString . '/' . clHtmlSpecialChars($sArticleTitle) . "</div>";
// load allocations
$loadedAllocations = $oAlloc->loadAllocations($this_idartlang);
$oTree->setChecked($loadedAllocations);
$result = $oTree->renderTree(true);
if ($result == false) {
$result = $notification->returnNotification("warning", i18n('There is no Content Allocation tree.', "content_allocation"));
} else {
if (!is_object($tpl)) {
$tpl = new Template;
}
$hiddenfields = '<input type="hidden" name="action" value="storeallocation">
<input type="hidden" name="idart" value="' . $idart . '">
<input type="hidden" name="contenido" value="' . $sess->id . '">
<input type="hidden" name="area" value="' . $area . '">
<input type="hidden" name="frame" value="' . $frame . '">
<input type="hidden" name="idcat" value="' . $idcat . '">';
$tpl->set('s', 'HIDDENFIELDS', $hiddenfields);
if (sizeof($loadedAllocations) > 0) {
$tpl->set('s', 'ARRAY_CHECKED_BOXES', 'var checkedBoxes = [' . implode(',', $loadedAllocations) . '];');
} else {
$tpl->set('s', 'ARRAY_CHECKED_BOXES', 'var checkedBoxes = [];');
}
$oDiv = new cHTMLDiv;
$oDiv->updateAttributes(array('style' => 'text-align: right; padding: 5px; width: 730px; border: 1px #B3B3B3 solid; background-color: #FFFFFF;'));
$oDiv->setContent('<input type="image" src="images/but_ok.gif" />');
$tpl->set('s', 'DIV', '<br>' . $oDiv->render());
$tpl->set('s', 'TREE', $result);
$tpl->set('s', 'REMOVE_ALL', i18n("Remove all", "content_allocation"));
$tpl->set('s', 'REMOVE', i18n("Remove", "content_allocation"));
$result = $tpl->generate($cfg['pica']['treetemplate_complexlist'], true);
$script = '<link rel="stylesheet" type="text/css" href="' . $cfg['pica']['style_complexlist'] . '"/>
<script language="javascript" src="' . $cfg['pica']['script_complexlist'] . '"></script>';
$oPage->addScript('style', $script);
}
$oPage->setContent($sLocationString . $result . markSubMenuItem(5, true));
$oPage->render();
?>

Datei anzeigen

@ -0,0 +1,22 @@
<?php
/**
*
* @package Plugins
* @subpackage ContentAllocation
* @version $Rev: 128 $
* @since 2.0
* @author Ortwin Pinke <o.pinke@conlite.org>
* @copyright 2017 CL-Team
* @link http://www.conlite.org
*
* $Id: include.left_bottom.php 128 2019-07-03 11:58:28Z oldperl $
*/
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
$oPage = new cPage();
$oPage->setHtml5();
$oPage->render();

Datei anzeigen

@ -0,0 +1,39 @@
<?php
/**
* Project:
* Contenido Content Management System
*
* Description:
* Rendering left_top frame
*
* Requirements:
* @con_php_req 5.0
*
*
* @package Contenido Backend plugins
* @version 1.0.1
* @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
*
* {@internal
* created unknown
* modified 2008-07-02, Frederic Schneider, add security fix
*
* $Id: include.left_top.php 128 2019-07-03 11:58:28Z oldperl $:
* }}
*
*/
if(!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
$oPage = new UI_Left_Top;
$oPage->render();
?>

Datei anzeigen

@ -0,0 +1,164 @@
<?php
/**
* Project:
* Contenido Content Management System
*
* Description:
* right_bottom frame for Content Allocation
*
* Requirements:
* @con_php_req 5.0
*
*
* @package Contenido Backend plugins
* @version 1.0.1
* @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
*
* {@internal
* created unknown
* modified 2008-07-02, Frederic Schneider, add security fix
*
* $Id: include.right_bottom.php 128 2019-07-03 11:58:28Z oldperl $:
* }}
*
*/
if (!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
if (isset($_REQUEST['treeItem'])) {
die('Illegal call!');
}
#added 24.06.08 timo.trautmann security fix filter submitted treeItemPost array before insertion, name also changed according to security fix
$aPostTreeItem = array();
if (!is_object($db)) {
$db = new DB_ConLite();
}
if (isset($_REQUEST['treeItemPost']['idpica_alloc'])) {
$aPostTreeItem['idpica_alloc'] = (int) $_REQUEST['treeItemPost']['idpica_alloc'];
}
if (isset($_REQUEST['treeItemPost']['parentid'])) {
$aPostTreeItem['parentid'] = (int) $_REQUEST['treeItemPost']['parentid'];
}
if (isset($_REQUEST['treeItemPost']['name'])) {
$sName = stripslashes($_REQUEST['treeItemPost']['name']);
$sName = $db->escape($sName);
$aPostTreeItem['name'] = $sName;
}
$_GET['idpica_alloc'] = (int) $_GET['idpica_alloc'];
#end added 24.06.08 timo.trautmann
$oPage = new cPage();
$oPage->setMargin(10);
$oPage->setMessageBox();
$oTree = new pApiContentAllocationTreeView('f7771624-4874-4745-8b7e-21a49a71a447');
// store item
if ($_POST['step'] == 'store') {
$pNotify = '<div style="width:410px;margin-bottom:20px;">';
$sMessage = sprintf(i18n("New Category %s successfully stored!", "content_allocation"), $treeItem['name']);
$notification->displayNotification("info", $sMessage);
$pNotify .= '</div>';
$oTree->storeItem($aPostTreeItem);
}
// rename item
if ($_POST['step'] == 'storeRename') {
$pNotify = '<div style="width:410px;margin-bottom:20px;">';
$sMessage = sprintf(i18n("Category %s successfully renamed!", "content_allocation"), $treeItem['name']);
$notification->displayNotification("info", $sMessage);
$pNotify .= '</div>';
$oTree->storeItem($aPostTreeItem);
}
// rename item
if ($_GET['step'] == 'moveup') {
$oTree->itemMoveUp($_GET['idpica_alloc']);
}
if ($_GET['step'] == 'deleteItem') { // delete item
$pNotify = '<div style="width:410px;margin-bottom:20px;">';
$sMessage = i18n("Category successfully deleted!", "content_allocation");
$notification->displayNotification("info", $sMessage);
$pNotify .= '</div>';
$oTree->deleteItem($_GET['idpica_alloc']);
}
if ($_GET['step'] == 'collapse') {
$oTree->setTreeStatus($_GET['idpica_alloc']);
}
if ($_GET['step'] == 'online') {
$oTree->setOnline($_GET['idpica_alloc']);
}
if ($_GET['step'] == 'offline') {
$oTree->setOffline($_GET['idpica_alloc']);
}
$oDiv = new cHTMLDiv;
$oDiv->updateAttributes(array('style' => 'padding: 5px; width: 400px; border: 1px #B3B3B3 solid; background-color: #FFFFFF;'));
$sTemp = '';
if ($_GET['step'] == 'createRoot') { // create new root item
$form = '
<table cellspacing="0" cellpaddin="0" border="0">
<form name="create" action="main.php" method="POST" onsubmit="return fieldCheck();">
<input type="hidden" name="action" value="' . $action . '" />
<input type="hidden" name="frame" value="' . intval($frame) . '" />
<input type="hidden" name="contenido" value="' . $sess->id . '" />
<input type="hidden" name="area" value="' . $area . '" />
<input type="hidden" name="step" value="store" />
<input type="hidden" name="treeItemPost[parentid]" value="root" />
<tr><td colspan="2" class="text_medium">' . i18n("Create new tree", "content_allocation") . '</td></tr>
<tr>
<td class="text_medium"><input id="itemname" class="text_medium" type="text" name="treeItemPost[name]" value=""></td>
<td>&nbsp;<a href="main.php?action=' . $action . '&frame=' . $frame . '&area=' . $area . '&contenido=' . $sess->id . '"><img src="images/but_cancel.gif" border="0" /></a>
<input type="image" src="images/but_ok.gif" /></td>
</tr>
</form>
</table>
<script language="JavaScript">
controller = document.getElementById("itemname");
controller.focus();
function fieldCheck() {
if (controller.value == "") {
alert("' . i18n("Please enter a category name.", "content_allocation") . '");
controller.focus();
return false;
}
return true;
}
</script>';
$oDiv->setContent($form);
$sTemp = $oDiv->render();
} else {
$newTree = '<a href="main.php?action=' . $action . '&step=createRoot&frame=' . $frame . '&area=' . $area . '&contenido=' . $sess->id . '"><img src="images/folder_new.gif" border="0" style="vertical-align: middle; margin-right: 5px;">' . i18n("Create new tree", "content_allocation") . '</a><div style="height:10px"></div>';
}
$result = $oTree->renderTree(true);
if ($result === false) {
$result = '&nbsp;';
}
$js = '
<script language="javascript">
/* Function for deleting categories*/
function deleteCategory(idpica_alloc) {
var url = "main.php?area=' . $area . '&action=' . $action . '&step=deleteItem&idpica_alloc=" + idpica_alloc + "&frame=' . $frame . '&contenido=' . $sess->id . '";
window.location.href = url;
}
</script>';
$oPage->addScript('deleteCategory', $js);
$oPage->setContent($pNotify . $newTree . $sTemp . '<br/>' . $result);
$oPage->render();
?>