YiiDebugToolbarPanelSettings.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. /**
  3. * YiiDebugToolbarPanelSettings class file.
  4. *
  5. * @author Sergey Malyshev <malyshev.php@gmail.com>
  6. */
  7. /**
  8. * YiiDebugToolbarPanelSettings class
  9. *
  10. * Description of YiiDebugToolbarPanelSettings
  11. *
  12. * @author Sergey Malyshev <malyshev.php@gmail.com>
  13. * @author Igor Golovanov <igor.golovanov@gmail.com>
  14. * @version $Id$
  15. * @package YiiDebugToolbar
  16. * @since 1.1.7
  17. */
  18. class YiiDebugToolbarPanelSettings extends YiiDebugToolbarPanel
  19. {
  20. public $i = 'k';
  21. public function getMenuTitle()
  22. {
  23. return YiiDebug::t('Settings');
  24. }
  25. public function getMenuSubTitle()
  26. {
  27. return 'YII_DEBUG ' . (YII_DEBUG ? YiiDebug::t('ON') : YiiDebug::t('OFF'));
  28. }
  29. public function getTitle()
  30. {
  31. return YiiDebug::t('Application Settings');
  32. }
  33. public function getSubTitle()
  34. {
  35. return '';
  36. }
  37. public function init()
  38. {
  39. }
  40. protected function getApplicationData()
  41. {
  42. return $this->prepareData(get_object_vars(Yii::app()));
  43. }
  44. protected function getModulesData()
  45. {
  46. return $this->prepareData(Yii::app()->modules);
  47. }
  48. protected function getApplicationParams()
  49. {
  50. return $this->prepareData(Yii::app()->params);
  51. }
  52. protected function getComponentsData()
  53. {
  54. return $this->prepareData(Yii::app()->components);
  55. }
  56. public function run()
  57. {
  58. $this->render('settings', array(
  59. 'application' => $this->getApplicationData(),
  60. 'params' => $this->getApplicationParams(),
  61. 'modules' => $this->getModulesData(),
  62. 'components' => $this->getComponentsData(),
  63. ));
  64. }
  65. private function prepareData($data)
  66. {
  67. $result = array();
  68. $skip = array();
  69. foreach ($data as $key => $value){
  70. if (in_array($key, $skip))
  71. continue;
  72. if (is_object($value)){
  73. $value = array_merge(array(
  74. 'class' => get_class($value)
  75. ), get_object_vars($value));
  76. }
  77. $result[$key] = $value;
  78. }
  79. return $result;
  80. }
  81. }