Overview

Namespaces

  • DcGeneral
    • Clipboard
    • Contao
      • Callback
      • Compatibility
      • DataDefinition
        • Definition
      • Dca
        • Builder
          • Legacy
        • Definition
        • Palette
        • Populator
      • Event
      • View
        • Contao2BackendView
          • Event
    • Controller
    • Data
    • DataDefinition
      • Builder
      • Definition
        • Properties
        • View
          • Panel
      • ModelRelationship
      • Palette
        • Builder
          • Event
        • Condition
          • Palette
          • Property
    • EnvironmentPopulator
    • Event
    • Exception
    • Factory
      • Event
    • Panel
    • View
      • Event

Classes

  • Ajax
  • Ajax2X
  • Ajax3X
  • DefaultController

Interfaces

  • ControllerInterface
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo
  1: <?php
  2: /**
  3:  * PHP version 5
  4:  * @package    generalDriver
  5:  * @author     Christian Schiffler <c.schiffler@cyberspectrum.de>
  6:  * @author     Stefan Heimes <stefan_heimes@hotmail.com>
  7:  * @author     Tristan Lins <tristan.lins@bit3.de>
  8:  * @copyright  The MetaModels team.
  9:  * @license    LGPL.
 10:  * @filesource
 11:  */
 12: 
 13: namespace DcGeneral\Controller;
 14: 
 15: use DcGeneral\DataContainerInterface;
 16: use DcGeneral\Exception\DcGeneralRuntimeException;
 17: 
 18: /**
 19:  * Class GeneralAjax - General purpose Ajax handler for "executePostActions" in Contao 2.X as we can not use the default
 20:  * Contao handling.
 21:  *
 22:  * @author     Christian Schiffler <c.schiffler@cyberspectrum.de>
 23:  * @copyright  The MetaModels team.
 24:  * @license    LGPL.
 25:  */
 26: class Ajax2X extends Ajax
 27: {
 28:     public function __construct()
 29:     {
 30:         parent::__construct();
 31:     }
 32: 
 33:     protected function loadPagetree(DataContainerInterface $objDc)
 34:     {
 35:         $arrData['strTable'] = $objDc->getTable();
 36:         $arrData['id'] = self::getAjaxName() ?: $objDc->getId();
 37:         $arrData['name'] = self::getPost('name');
 38: 
 39:         /**
 40:          * @var \PageSelector $objWidget
 41:          */
 42:         $objWidget = new $GLOBALS['BE_FFL']['pageTree']($arrData, $objDc);
 43:         echo $objWidget->generateAjax(self::getAjaxId(), self::getPost('field'), intval(self::getPost('level')));
 44:         exit;
 45:     }
 46: 
 47:     protected function loadFiletree(DataContainerInterface $objDc)
 48:     {
 49:         $arrData['strTable'] = $objDc->getTable();
 50:         $arrData['id'] = self::getAjaxName() ?: $objDc->getId();
 51:         $arrData['name'] = self::getPost('name');
 52: 
 53:         /**
 54:          * @var \FileTree $objWidget
 55:          */
 56:         $objWidget = new $GLOBALS['BE_FFL']['fileTree']($arrData, $objDc);
 57: 
 58:         // Load a particular node
 59:         if (self::getPost('folder', true) != '')
 60:         {
 61:             echo $objWidget->generateAjax(self::getPost('folder', true), self::getPost('field'), intval(self::getPost('level')));
 62:         }
 63:         else
 64:         {
 65:             // Reload the whole tree.
 66:             $this->import('BackendUser', 'User');
 67:             $strTree = '';
 68: 
 69:             // Set a custom path
 70:             if (strlen($GLOBALS['TL_DCA'][$objDc->getTable()]['fields'][self::getPost('field')]['eval']['path']))
 71:             {
 72:                 $strTree = $objWidget->generateAjax(
 73:                     $GLOBALS['TL_DCA'][$objDc->getTable()]['fields'][self::getPost('field')]['eval']['path'],
 74:                     self::getPost('field'),
 75:                     intval(self::getPost('level'))
 76:                 );
 77:             }
 78:             // Start from root
 79:             elseif ($this->User->isAdmin)
 80:             {
 81:                 $strTree = $objWidget->generateAjax(
 82:                     $GLOBALS['TL_CONFIG']['uploadPath'],
 83:                     self::getPost('field'),
 84:                     intval(self::getPost('level'))
 85:                 );
 86:             }
 87:             // Set filemounts
 88:             else
 89:             {
 90:                 foreach ($this->eliminateNestedPaths($this->User->filemounts) as $node)
 91:                 {
 92:                     $strTree .= $objWidget->generateAjax(
 93:                         $node,
 94:                         self::getPost('field'),
 95:                         intval(self::getPost('level')),
 96:                         true
 97:                     );
 98:                 }
 99:             }
100: 
101:             echo $strTree;
102:         }
103:         exit;
104:     }
105: 
106:     protected function reloadPagetree(DataContainerInterface $objDc)
107:     {
108:         throw new DcGeneralRuntimeException('Contao 3.X only.');
109:     }
110: 
111:     protected function reloadFiletree(DataContainerInterface $objDc)
112:     {
113:         throw new DcGeneralRuntimeException('Contao 3.X only.');
114:     }
115: }
116: 
contao-community-alliance/dc-general API documentation generated by ApiGen 2.8.0