1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
12:
13: namespace DcGeneral\Controller;
14:
15: use DcGeneral\DataContainerInterface;
16: use DcGeneral\Exception\DcGeneralRuntimeException;
17:
18: 19: 20: 21: 22: 23: 24: 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: 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: 55:
56: $objWidget = new $GLOBALS['BE_FFL']['fileTree']($arrData, $objDc);
57:
58:
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:
66: $this->import('BackendUser', 'User');
67: $strTree = '';
68:
69:
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:
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:
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: