PageRenderTime 33ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/_Includes/Sitengine/Blog/Frontend/Blogs/Posts/Files/bak-AssignView.php

https://github.com/sitengine/sitengine
PHP | 247 lines | 157 code | 56 blank | 34 comment | 9 complexity | 7ed8cdf642961f3a5b0715aa200a97ab MD5 | raw file
  1. <?php
  2. /**
  3. * Sitengine - An example serving as a pattern
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. *
  10. * @category Sitengine
  11. * @package Sitengine_Blog
  12. * @copyright Copyright (c) 2007, Christian Hoegl, Switzerland (http://sitengine.org)
  13. * @license http://sitengine.org/license/new-bsd New BSD License
  14. */
  15. require_once 'Zend/Date.php';
  16. require_once 'Sitengine/Mime/Type.php';
  17. require_once 'Sitengine/String.php';
  18. require_once 'Sitengine/Form/Element.php';
  19. require_once 'Sitengine/Grid/Pager.php';
  20. require_once 'Sitengine/View.php';
  21. abstract class Sitengine_Blog_Frontend_Blogs_Posts_Files_AssignView extends Sitengine_View {
  22. protected $_controller = null;
  23. protected $_queries = array();
  24. protected $_settings = array();
  25. protected $_sections = array();
  26. public function __construct(array $config)
  27. {
  28. if(isset($config['controller']) && $config['controller'] instanceof Sitengine_Blog_Frontend_Blogs_Posts_Files_Controller)
  29. {
  30. $this->_controller = $config['controller'];
  31. }
  32. else {
  33. require_once 'Sitengine/Exception.php';
  34. throw new Sitengine_Exception('construct error');
  35. }
  36. }
  37. public function build()
  38. {
  39. try {
  40. $this->_controller->getViewHelper()->build();
  41. $this->_queries = $this->_controller->getViewHelper()->getQueries();
  42. $this->_settings = $this->_controller->getViewHelper()->getSettings();
  43. $this->_sections = $this->_controller->getViewHelper()->getSections();
  44. $this->setSection('FILES', $this->_getMainSection());
  45. return $this;
  46. }
  47. catch (Exception $exception) {
  48. require_once 'Sitengine/Blog/Frontend/Blogs/Posts/Files/Exception.php';
  49. throw new Sitengine_Blog_Frontend_Blogs_Posts_Files_Exception('build page error', $exception);
  50. }
  51. }
  52. public function getData()
  53. {
  54. try {
  55. return array(
  56. 'QUERIES' => $this->_queries,
  57. 'SECTIONS' => $this->_sections,
  58. 'SETTINGS' => $this->_settings,
  59. #'ENV' => $this->_controller->getEnv()->getData(),
  60. #'Env' => $this->_controller->getEnv(),
  61. #'STATUS' => $this->_controller->getStatus()->getData(),
  62. #'ORGANIZATION' => $this->_controller->getPermiso()->getOrganization()->getData(),
  63. #'USER' => $this->_controller->getPermiso()->getAuth()->getData(),
  64. #'Auth' => $this->_controller->getPermiso()->getAuth(),
  65. #'DICTIONARY' => $this->_controller->getTranslate()->translateGroup('data')->toArray()
  66. );
  67. }
  68. catch (Exception $exception) {
  69. require_once 'Sitengine/Blog/Frontend/Blogs/Posts/Files/Exception.php';
  70. throw new Sitengine_Blog_Frontend_Blogs_Posts_Files_Exception('build page error', $exception);
  71. }
  72. }
  73. public function setSection($name, array $data)
  74. {
  75. $this->_sections[$name] = $data;
  76. }
  77. protected function _getMainSection()
  78. {
  79. try {
  80. $list = array();
  81. $markedRows = $this->_controller->getMarkedRows();
  82. #Sitengine_Debug::print_r($markedRows);
  83. $dir = $this->_controller->getTempDir();
  84. if(is_dir($dir))
  85. {
  86. $dirIterator = new DirectoryIterator($dir);
  87. $date = new Zend_Date(null, Zend_Date::ISO_8601, $this->_controller->getLocale());
  88. $date->setTimezone($this->_controller->getPreferences()->getTimezone());
  89. foreach($dirIterator as $file)
  90. {
  91. if(is_file($dir.'/'.$file->getFilename()) && !preg_match('/^(\.|\.\.|\.DS_Store)$/', $file->getFilename()))
  92. {
  93. $filename = $file->getFilename();
  94. $id = base64_encode($filename);
  95. $size = round($file->getSize()/1024/1024, 1);
  96. if($size >= 1) { $size .= 'MB'; }
  97. else { $size = round($file->getSize()/1024, 0).'KB'; }
  98. $date->setTimestamp($file->getCTime());
  99. $udate = $date->get(Zend_Date::DATE_FULL).' ';
  100. $udate .= $date->get(Zend_Date::TIME_FULL);
  101. $p = 'SELECTROWITEM'.$id;
  102. $s = (sizeof($markedRows) && isset($markedRows[$id])) ? $this->_controller->getRequest()->getPost($p) : 0;
  103. $e = new Sitengine_Form_Element($p, 1);
  104. $e->setClass('listformCheckbox');
  105. $checkbox = $e->getCheckbox($s);
  106. $args = array(
  107. Sitengine_Env::PARAM_CONTROLLER => 'uploads',
  108. Sitengine_Env::PARAM_FILE => $filename
  109. );
  110. $uriDownload = $this->_controller->getFrontController()->getBlogPackage()->getDownloadHandler();
  111. $uriDownload .= Sitengine_Controller_Request_Http::makeNameValueQuery($args);
  112. $list[] = array(
  113. 'id' => $id,
  114. 'name' => $filename,
  115. 'size' => $size,
  116. 'udate' => $udate,
  117. 'rowSelectCheckbox' => $checkbox,
  118. 'uriDownload' => $uriDownload,
  119. 'isMarked' => (isset($markedRows[$id])) ? $markedRows[$id] : 0
  120. );
  121. }
  122. }
  123. }
  124. #Sitengine_Debug::print_r($list);
  125. ########################################################################
  126. #### PAGER DATA
  127. #######################################################################
  128. $pagerData = array(
  129. 'hiddens' => '',
  130. 'currPageInput' => '',
  131. 'currPage' => 1,
  132. 'nextPage' => 1,
  133. 'prevPage' => 1,
  134. 'numPages' => 1,
  135. 'numItems' => sizeof($list),
  136. 'firstItem' => 1,
  137. 'lastItem' => sizeof($list),
  138. 'uriPrevPage' => '',
  139. 'uriNextPage' => ''
  140. );
  141. ########################################################################
  142. #### URIS
  143. ########################################################################
  144. $args = array(
  145. Sitengine_Env::PARAM_GREATANCESTORID => $this->_controller->getEntity()->getGreatAncestorSlug(),
  146. Sitengine_Env::PARAM_ANCESTORID => $this->_controller->getEntity()->getAncestorId()
  147. );
  148. $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Blog_Frontend_Front::ROUTE_BLOGS_POSTS_FILES_UPLOAD);
  149. $uriDoBatchUnlink = $this->_controller->getRequest()->getBasePath().'/'.$route->assemble($args, true);
  150. $args = array(
  151. Sitengine_Env::PARAM_GREATANCESTORID => $this->_controller->getEntity()->getGreatAncestorSlug(),
  152. Sitengine_Env::PARAM_ANCESTORID => $this->_controller->getEntity()->getAncestorId()
  153. );
  154. $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Blog_Frontend_Front::ROUTE_BLOGS_POSTS_FILES_ASSIGN);
  155. $uriDoBatchAssign = $this->_controller->getRequest()->getBasePath().'/'.$route->assemble($args, true);
  156. $uris = array(
  157. 'submitDoBatchAssign' => $uriDoBatchAssign,
  158. 'submitDoBatchUnlink' => $uriDoBatchUnlink
  159. );
  160. ########################################################################
  161. #### METHODS
  162. ########################################################################
  163. $methods = array(
  164. 'doBatchUnlink' => Sitengine_Env::METHOD_DELETE,
  165. 'doBatchAssign' => Sitengine_Env::METHOD_POST
  166. );
  167. ########################################################################
  168. #### COLLECT ALL DATA
  169. ########################################################################
  170. $hiddens = array(
  171. Sitengine_Env::PARAM_METHOD => '',
  172. );
  173. foreach($hiddens as $k => $v) {
  174. $hiddens[$k] = Sitengine_Form_Element::getHidden($k, $v);
  175. }
  176. return array(
  177. 'hiddens' => implode('', $hiddens),
  178. 'title' => $this->_controller->getTranslate()->translate('labelsAssignformTitle'),
  179. 'URIS' => $uris,
  180. 'METHODS' => $methods,
  181. 'DATA' => $list,
  182. 'PAGER' => $pagerData
  183. );
  184. }
  185. catch (Exception $exception) {
  186. require_once 'Sitengine/Blog/Frontend/Blogs/Posts/Files/Exception.php';
  187. throw new Sitengine_Blog_Frontend_Blogs_Posts_Files_Exception('list page error', $exception);
  188. }
  189. }
  190. }
  191. ?>