PageRenderTime 34ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/yii/testdrive/protected/controllers/NaukaTestController.php

http://htdocstest.googlecode.com/
PHP | 228 lines | 101 code | 33 blank | 94 comment | 1 complexity | ad7b3da8518070b0b41a6e102e799693 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, BSD-2-Clause
  1. <?php
  2. class NaukaTestController extends Controller
  3. {
  4. public $zmienna_1;
  5. public $zmienna_2;
  6. public $zmienna_3;
  7. /**
  8. * Cytaty wykorzystywane w ajaxTest 1
  9. * @var string
  10. */
  11. public $quote;
  12. private $quotes = array(
  13. array('Cytat pierwszy', 'Edward V Berard'),
  14. array('Cytat drugi', 'HofstLaw'),
  15. array('Cytat trzeci', 'trzEdward V Berard'),
  16. array('Cytat czwart', 'czwHofstLaw'),
  17. );
  18. public function actionIndex()
  19. {
  20. $this->zmienna_1='tetowe wywolanie akcji Inex';
  21. $this->render('index');
  22. }
  23. public function actionPostTest()
  24. {
  25. $this->zmienna_1='Tekst z kontrolera postText';
  26. $this->render('postTest');
  27. }
  28. public function actionfiltrTest()
  29. {
  30. $this->zmienna_1='Tekst z kontrolera filtTest';
  31. $this->render('filtrTest');
  32. }
  33. /**
  34. * Akcja Ajaxowa wykorzystywana w ajaxTest pobieranie randomowo cytatu odppalana ajaxowo
  35. * Ajaxowo renderuje partiala
  36. */
  37. function actionGetQuote()
  38. {
  39. $part['quote'] = $this->getRandomQuote();
  40. $this->renderPartial('_quote',$part );
  41. }
  42. public function actionajaxTest()
  43. {
  44. $this->quote = $this->getRandomQuote();
  45. $this->render('ajaxTest');
  46. }
  47. public function actionCrudUsun()
  48. {
  49. $this->render('crudUsun');
  50. }
  51. /**
  52. * AR event-likemethods prezentacja
  53. * @author 2011-12-20
  54. */
  55. public function actionPrzedZapisem()
  56. {
  57. #przyk?adowo prezentowana metod beforeSave znajduje sie w modelu
  58. $post=new Osoba();
  59. $post->nazwa='bamboafricaggg';
  60. $post->save();
  61. print_r($post->nazwa);
  62. $this->render('PrzedZapisem');
  63. }
  64. /**
  65. * Crud edycja, usuwanie istniej?cego rekordu - przyk?ad wykorzystanie klasy osoba ar
  66. * 2011-12-20 NIEDZIALA !!
  67. * @param int $id
  68. * @throws CHttpException
  69. */
  70. public function actionUsun()
  71. {
  72. //$actors = Osoba::model()->findAll();
  73. $model = Osoba::model()->deleteByPk(5);
  74. /*
  75. echo '<ol>';
  76. foreach($actors as $actor)
  77. {
  78. echo '<li>';
  79. echo $actor->nazwa;
  80. echo '<ol>';
  81. echo '</li>';
  82. }
  83. echo '</ol>';
  84. */
  85. //
  86. //$model = Osoba::model()->delete();
  87. CVarDumper::dodaj('Akcja Usuniecie zmiana danych sukces');
  88. /*
  89. $model->setAttributes($data);
  90. if($model->save())
  91. {
  92. CVarDumper::dodaj('Akcja edycja zmiana danych sukces');
  93. }
  94. */
  95. echo 'Akcja usuwanie';
  96. }
  97. public function actionCrudPobierzKryteria()
  98. {
  99. $criteria = new CDbCriteria();
  100. $criteria->order = 'created_on DESC';
  101. $criteria->limit = 10;
  102. //$thisszmienna_3 = TblUser::model()->findAll($criteria); //cos nie chce dzialac !!
  103. $this->zmienna_3='fdsfds';
  104. $this->render('crudPobierzKryteria');
  105. }
  106. /**
  107. * Formularz po nowemu stworzony za pomoca statycznych elementów
  108. * 2011-12-20
  109. */
  110. public function actionFormNowemu()
  111. {
  112. $this->render('formNowemu');
  113. }
  114. #Metoda wykorzystna w ajaxie w akcji ajaxTest
  115. private function getRandomQuote()
  116. {
  117. return $this->quotes[array_rand($this->quotes, 1)];
  118. }
  119. /**
  120. * Standardowo zakomentowane podczas budowy kontrolera
  121. * Filtrowanie akcji tzn wywolanie pewnych metod przed akcja i(lub) po niej
  122. * Wykorzystanie np. przed akcja - sprawdzanie dostepu, po akcji - profilowanie
  123. * Filtry sa osobna klasa a tu tylko je konfiguruje tzn przypisuje do poszczegolnej akcji
  124. * @return type
  125. */
  126. public function filters()
  127. {
  128. // return the filter configuration for this controller, e.g.:
  129. /*
  130. return array(
  131. 'inlineFilterName',
  132. array(
  133. 'class'=>'path.to.FilterClass',
  134. 'propertyName'=>'propertyValue',
  135. ),
  136. );
  137. */
  138. #MNIE zadzialal tylko filtr pre
  139. #pierwsza wartosc to klasa filtra alas do niej sciezka dostepu
  140. #w?a?ciwo?ci wlasnosc_klasy_filtru klasy PerformanceFilter b?dzie zainicjowana warto?ci? 'second'.
  141. #U?ywaj?c operatora plusa oraz minusa, mo?emy okre?li? dla kt?rych akcji filtr powinien a dla kt?rych nie powinien mie? zastosowania.
  142. return array(
  143. array(
  144. 'application.filters.PerformanceFilter',
  145. 'wlasnosc_klasy_filtru'=>'second'
  146. )
  147. );
  148. }
  149. /**
  150. * Nie wiem jak narazie po co ta metoda jest
  151. * @return type
  152. */
  153. /*
  154. public function actions()
  155. {
  156. // return external action classes, e.g.:
  157. return array(
  158. 'action1'=>'path.to.ActionClass',
  159. 'action2'=>array(
  160. 'class'=>'path.to.AnotherActionClass',
  161. 'propertyName'=>'propertyValue',
  162. ),
  163. );
  164. }
  165. */
  166. public function actionPaginacjaTest()
  167. {
  168. $this->zmienna_1='tetowe wywolanie akcji Inex';
  169. $this->render('index');
  170. }
  171. /**
  172. * # 2012-01-03 dodatkowe parametry ustawienia yiicb str 250
  173. */
  174. public function actionDebugowanie()
  175. {
  176. # 3 argument musi sie nazwywac inaczej niz kategrie w main configuracja
  177. #jak nazwa projektu ! example jest zdefiniowane w main ustawieniach
  178. # nie wiem dlaczego tak jest
  179. # poza tym nie wyswietla mi bledow a powinien
  180. Yii::trace('example trace message','testdrive2');
  181. Yii::log('info tresc komuniktatow', CLogger::LEVEL_INFO,'testdrive2');
  182. Yii::log('error tresc komuniktatow', CLogger::LEVEL_ERROR, 'testdrive2');
  183. Yii::log('trace tresc komuniktatow', CLogger::LEVEL_TRACE, 'testdrive2');
  184. Yii::log('warning tresc komuniktatow', CLogger::LEVEL_WARNING, 'testdrive2');
  185. Yii::beginProfile('preg_replace', 'testdrive2');
  186. for($i=0;$i<10000;$i++){
  187. preg_replace('~^[ a-z]+~', '', 'test it');
  188. }
  189. Yii::endProfile('preg_replace', 'testdrive2');
  190. //$this->zmienna_1='tetowe wywolanie akcji Inex';
  191. $this->render('Debugowanie');
  192. }
  193. }