Zikula_Core
[ class tree: Zikula_Core ] [ index: Zikula_Core ] [ all elements ]

Source for file pnadminform.php

Documentation is available at pnadminform.php

  1. <?php
  2. /**
  3.  * Zikula Application Framework
  4.  *
  5.  * @copyright Robert Gasch
  6.  * @link http://www.zikula.org
  7.  * @version $Id: pnadminform.php 24342 2008-06-06 12:03:14Z markwest $
  8.  * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
  9.  * @author Robert Gasch rgasch@gmail.com
  10.  * @package Zikula_Core
  11.  */
  12.  
  13.  
  14. Loader::loadClass ('CategoryUtil');
  15. Loader::loadClassFromModule ('Categories''category');
  16.  
  17.  
  18. /**
  19.  * update category
  20.  */
  21. {
  22.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_ADMIN)) {
  23.         return LogUtil::registerPermissionError();
  24.     }
  25.  
  26.     $args array();
  27.  
  28.     if (FormUtil::getPassedValue('category_copy_x'null'POST')) {
  29.         $args['op']  'copy';
  30.         $args['cid'$_POST['category']['id'];
  31.         return pnRedirect(pnModURL('Categories''admin''op'$args));
  32.     }
  33.  
  34.     if (FormUtil::getPassedValue('category_move_x'null'POST')) {
  35.         $args['op']  'move';
  36.         $args['cid'$_POST['category']['id'];
  37.         return pnRedirect(pnModURL('Categories''admin''op'$args));
  38.     }
  39.  
  40.     if (FormUtil::getPassedValue('category_delete_x'null'POST')) {
  41.         $args['op']  'delete';
  42.         $args['cid'$_POST['category']['id'];
  43.         return pnRedirect(pnModURL('Categories''admin''op'$args));
  44.     }
  45.  
  46.     if (FormUtil::getPassedValue('category_user_edit_x'null'POST')) {
  47.         $_SESSION['category_referer'pnServerGetVar('HTTP_REFERER');
  48.         $args['dr'$_POST['category']['id'];
  49.         return pnRedirect(pnModURL('Categories''user''edit'$args));
  50.     }
  51.  
  52.     $cat new PNCategory ();
  53.     $data $cat->getDataFromInput ();
  54.  
  55.     if (!$cat->validate('admin')) {
  56.         $category FormUtil::getPassedValue ('category'null'POST');
  57.         $args['cid'$category['id'];
  58.         $args['mode''edit';
  59.         return pnRedirect(pnModURL('Categories''admin''edit'$args));
  60.     }
  61.  
  62.     $attributes array();
  63.     $values FormUtil::getPassedValue('attribute_value''POST');
  64.     foreach (FormUtil::getPassedValue('attribute_name''POST'as $index => $name)
  65.     {
  66.         if (!empty($name))
  67.             $attributes[$name$values[$index];
  68.     }
  69.  
  70.     $cat->setDataField('__ATTRIBUTES__'$attributes);
  71.  
  72.     // retrieve old category from DB
  73.     $category FormUtil::getPassedValue ('category'null'POST');
  74.     $oldCat new PNCategory ($cat->_GET_FROM_DB$category['id']);
  75.  
  76.     // update new category data
  77.     $cat->update ();
  78.  
  79.     // since a name change will change the object path, we must rebuild it here
  80.     if ($oldCat->_objData['name'!= $cat->_objData['name']{
  81.         $obj $cat->_objData;
  82.         CategoryUtil::rebuildPaths ('path''name'$obj['id']);
  83.     }
  84.  
  85.     $msg sprintf (_CATEGORIES_UPDATE_SUCCESS$oldCat->_objData['name']);
  86.     LogUtil::registerStatus ($msg);
  87.     return pnRedirect(pnModURL('Categories''admin''main'));
  88. }
  89.  
  90. /**
  91.  * create category
  92.  */
  93. {
  94.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_ADD)) {
  95.         return LogUtil::registerPermissionError();
  96.     }
  97.  
  98.     $cat new PNCategory ();
  99.     $cat->getDataFromInput ();
  100.  
  101.     // submit button wasn't pressed -> category was chosen from dropdown
  102.     // we now get the parent (security) category domains so we can inherit them
  103.     if (!FormUtil::getPassedValue('category_submit_x'null'POST')) {
  104.         $newCat $_POST['category'];
  105.         $pcID   $newCat['parent_id'];
  106.  
  107.         $pCat new PNCategory ();
  108.         $parentCat $pCat->get($pcID);
  109.  
  110.         //$newCat['security_domain'] = $parentCat['security_domain'];
  111.         //for ($i=1; $i<=5; $i++) {
  112.         //    $name = 'data' . $i . '_domain';
  113.         //    $newCat[$name] = $parentCat[$name];
  114.         //}
  115.  
  116.         $_SESSION['newCategory'$newCat;
  117.  
  118.         return pnRedirect(pnModURL('Categories''admin''new''#top');
  119.     }
  120.  
  121.     if (!$cat->validate('admin')) {
  122.         return pnRedirect(pnModURL('Categories''admin''new''#top');
  123.     }
  124.  
  125.     $attributes array();
  126.     $values FormUtil::getPassedValue('attribute_value'array()'POST');
  127.     foreach (FormUtil::getPassedValue('attribute_name'array()'POST'as $index => $name)
  128.     {
  129.         if (!empty($name)) {
  130.             $attributes[$name$values[$index];
  131.         }
  132.     }
  133.  
  134.     if ($attributes{
  135.         $cat->setDataField('__ATTRIBUTES__'$attributes);
  136.     }
  137.  
  138.     $cat->insert ();
  139.     // since the original insert can't construct the ipath (since
  140.     // the insert id is not known yet) we update the object here.
  141.     $cat->update ();
  142.  
  143.     $msg sprintf (_CATEGORIES_INSERT_SUCCESS$cat->_objData['name']);
  144.     LogUtil::registerStatus ($msg);
  145.     return pnRedirect(pnModURL('Categories''admin''main''#top');
  146. }
  147.  
  148. /**
  149.  * delete category
  150.  */
  151. {
  152.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_DELETE)) {
  153.         return LogUtil::registerPermissionError();
  154.     }
  155.  
  156.     if (FormUtil::getPassedValue('category_cancel'null'POST')) {
  157.         return pnRedirect(pnModURL('Categories''admin''main'));
  158.     }
  159.  
  160.     $cid FormUtil::getPassedValue('cid'null'POST');
  161.     $cat new PNCategory ();
  162.     $cat->get($cid);
  163.  
  164.     // delete subdirectories
  165.     if ($_POST['subcat_action'== 'delete'{
  166.         $cat->delete (true);
  167.     elseif ($_POST['subcat_action'== 'move'{
  168.         // move subdirectories
  169.         $cat->deleteMoveSubcategories ($_POST['category']['parent_id']);
  170.     }
  171.  
  172.     $msg sprintf (_CATEGORIES_DELETE_SUCCESS$cat->_objData['name']);
  173.     LogUtil::registerStatus ($msg);
  174.     return pnRedirect(pnModURL('Categories''admin''main'));
  175. }
  176.  
  177. /**
  178.  * copy category
  179.  */
  180. {
  181.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_ADD)) {
  182.         return LogUtil::registerPermissionError();
  183.     }
  184.  
  185.     if (FormUtil::getPassedValue('category_cancel'null'POST')) {
  186.         return pnRedirect(pnModURL('Categories''admin''main'));
  187.     }
  188.  
  189.     $cid FormUtil::getPassedValue('cid'null'POST');
  190.     $cat new PNCategory ();
  191.     $cat->get($cid);
  192.  
  193.     $cat->copy ($_POST['category']['parent_id']);
  194.  
  195.     $msg sprintf (_CATEGORIES_COPY_SUCCESS$cat->_objData['name']);
  196.     LogUtil::registerStatus ($msg);
  197.     return pnRedirect(pnModURL('Categories''admin''main'));
  198. }
  199.  
  200. /**
  201.  * move category
  202.  */
  203. {
  204.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_EDIT)) {
  205.         return LogUtil::registerPermissionError();
  206.     }
  207.  
  208.     if (FormUtil::getPassedValue('category_cancel'null'POST')) {
  209.         return pnRedirect(pnModURL('Categories''admin''main'));
  210.     }
  211.  
  212.     $cid FormUtil::getPassedValue('cid'null'POST');
  213.     $cat new PNCategory ();
  214.     $cat->get($cid);
  215.     $cat->move ($_POST['category']['parent_id']);
  216.  
  217.     $msg sprintf (_CATEGORIES_MOVE_SUCCESS$cat->_objData['name']);
  218.     LogUtil::registerStatus ($msg);
  219.     return pnRedirect(pnModURL('Categories''admin''main'));
  220. }
  221.  
  222. /**
  223.  * rebuild path structure
  224.  */
  225. {
  226.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_ADMIN)) {
  227.         return LogUtil::registerPermissionError();
  228.     }
  229.  
  230.     CategoryUtil::rebuildPaths ('path''name');
  231.     CategoryUtil::rebuildPaths ('ipath''id');
  232.  
  233.     return pnRedirect(pnModURL('Categories''admin''main'));
  234. }
  235.  
  236. {
  237.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_ADMIN)) {
  238.         return LogUtil::registerPermissionError();
  239.     }
  240.  
  241.     $id FormUtil::getPassedValue('id'0);
  242.  
  243.     if (!($class Loader::loadClassFromModule ('Categories''category_registry'false))) {
  244.         return pn_exit ("Unable to load class [category_registry] ...");
  245.     }
  246.  
  247.     if (FormUtil::getPassedValue('mode'null'GET'== 'delete'{
  248.         $obj new $class();
  249.         $obj->get ($id);
  250.         $obj->delete ($id);
  251.  
  252.         return pnRedirect(pnModURL('Categories''admin''editregistry'));
  253.     }
  254.  
  255.     $args array();
  256.     if (!FormUtil::getPassedValue('category_submit'null'POST')) // got here through selector auto-submit
  257.     {
  258.         $obj  new $class();
  259.         $data $obj->getDataFromInput ($id);
  260.         $args['category_registry'$data;
  261.         return pnRedirect(pnModURL('Categories''admin''editregistry'$args));
  262.     }
  263.  
  264.     $obj new $class();
  265.     $obj->getDataFromInput ();
  266.  
  267.     if (!$obj->validate('admin')) {
  268.         return pnRedirect(pnModURL('Categories''admin''editregistry'));
  269.     }
  270.  
  271.     $obj->save();
  272.     return pnRedirect(pnModURL('Categories''admin''editregistry'));
  273. }
  274.  
  275. {
  276.     if (!SecurityUtil::checkPermission('Categories''::'ACCESS_ADMIN)) {
  277.         return LogUtil::registerPermissionError();
  278.     }
  279.  
  280.     $userrootcat FormUtil::getPassedValue ('userrootcat'null);
  281.     if ($userrootcat
  282.         pnModSetVar ('Categories''userrootcat'$userrootcat);
  283.     }
  284.  
  285.     $autocreateusercat = (int)FormUtil::getPassedValue ('autocreateusercat'0);
  286.     pnModSetVar ('Categories''autocreateusercat'$autocreateusercat);
  287.  
  288.     $allowusercatedit = (int)FormUtil::getPassedValue ('allowusercatedit'0);
  289.     pnModSetVar ('Categories''allowusercatedit'$allowusercatedit);
  290.  
  291.     $autocreateuserdefaultcat FormUtil::getPassedValue ('autocreateuserdefaultcat'0);
  292.     pnModSetVar ('Categories''autocreateuserdefaultcat'$autocreateuserdefaultcat);
  293.  
  294.     $userdefaultcatname FormUtil::getPassedValue ('userdefaultcatname''Default');
  295.     pnModSetVar ('Categories''userdefaultcatname'$userdefaultcatname);
  296.  
  297.     $permissionsall = (int)FormUtil::getPassedValue ('permissionsall'0);
  298.     pnModSetVar ('Categories''permissionsall'$permissionsall);
  299.  
  300.     return pnRedirect(pnModURL('Categories''admin''preferences'));
  301. }

Documentation generated on Fri, 18 Jul 2008 21:52:25 +0200 by phpDocumentor 1.4.1