PageRenderTime 47ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/www/app/AdminModule/presenters/AdminOptionsPresenter.php

https://github.com/bazo/Mokuji
PHP | 102 lines | 87 code | 13 blank | 2 comment | 2 complexity | bcddeb7d216abd1361ace8945f42d836 MD5 | raw file
Possible License(s): BSD-3-Clause, MIT
  1. <?php
  2. class Admin_OptionsPresenter extends Admin_SecurePresenter
  3. {
  4. public function actionDefault()
  5. {
  6. $this->view = 'options';
  7. }
  8. public function actionAdvanced()
  9. {
  10. $this->view = 'advanced';
  11. }
  12. public function createComponentPageMetaInfo($name)
  13. {
  14. $page = new Page($this,$name);
  15. $item = $page->addItem("Tabs");
  16. $item->contentFactory = array($this,'createTabs');
  17. //Tab Meta Info
  18. $item = $page->addItem("metainfo");
  19. $item->contentFactory = array($this,'createTabMetaInfo');
  20. }
  21. public function createComponentPageAdvanced($name)
  22. {
  23. $page = new Page($this,$name);
  24. $item = $page->addItem("Tabs");
  25. $item->contentFactory = array($this,'createTabs');
  26. //Advanced
  27. $item = $page->addItem("advanced");
  28. $item->contentFactory = array($this,'createTabAdvanced');
  29. }
  30. public function createTabs($name, $page)
  31. {
  32. $params = $this->getRequest()->getParams();
  33. $action = $params['action'];
  34. $linkMeta = Html::el('a')->href($this->link('default'))->add(Html::el('span')->add('Options'));
  35. $linkAdvanced = Html::el('a')->href($this->link('advanced'))->add(Html::el('span')->add('Advanced'));
  36. $liMeta = Html::el('li')->class('ui-tabs-panel ui-widget-content ui-state-default ui-corner-top');
  37. $liAdvanced = Html::el('li')->class('ui-tabs-panel ui-widget-content ui-state-default ui-corner-top');
  38. if($action == 'advanced')
  39. $liAdvanced->class('ui-tabs-panel ui-widget-content ui-state-default ui-corner-top ui-tabs-selected ui-state-active');
  40. else
  41. $liMeta->class('ui-tabs-panel ui-widget-content ui-state-default ui-corner-top ui-tabs-selected ui-state-active');
  42. $tabs = Html::el('div')->class('tabs ui-tabs ui-widget ui-widget-content ui-corner-all')->add(Html::el('ul')->class('ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all')
  43. ->add($liMeta->add($linkMeta))
  44. ->add($liAdvanced->add($linkAdvanced)));
  45. return $tabs;
  46. }
  47. public function createTabMetaInfo($name, $page)
  48. {
  49. $form = new LiveForm($page, $name);
  50. $data = ConfigAdapterIni::load(APP_DIR.'/config/site.ini', 'site');
  51. $form->addText("title", "Title");
  52. $form->addText("author", "Author");
  53. $form->addText("keywords", "Keywords");
  54. $form->addText("description", "Description");
  55. $form->addSubmit("odeslat", "Odeslat");
  56. $form->setDefaults($data);
  57. $form->onSubmit[] = array($this,"saveMetaData");
  58. return $form;
  59. }
  60. public function saveMetaData($form)
  61. {
  62. $values = $form->getValues();
  63. $data = ConfigAdapterIni::load(APP_DIR.'/config/site.ini', 'site');
  64. try{
  65. foreach($values as $key => $value)
  66. {
  67. $data['key'] = $value;
  68. }
  69. $metaConfig = new Config();
  70. $metaConfig->import($data);
  71. $metaConfig->save(APP_DIR.'/config/site.ini', 'site');
  72. $this->flash('Metadata saved');
  73. }
  74. catch(InvalidArgumentException $e )
  75. {
  76. $this->flash($e->getMessage );
  77. }
  78. }
  79. public function createTabAdvanced($name, $page)
  80. {
  81. return Html::el('a')->href($this->link('ClearCache!'))->class('ajax')->add('Clear cache!');
  82. }
  83. public function handleClearCache()
  84. {
  85. Environment::getCache()->release();
  86. Environment::getCache()->clean(array(Cache::ALL => TRUE));
  87. }
  88. }
  89. ?>