Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [umiejętności] na podstawie części kodu., proszę o ocenę umiejętności programisty
k_c2or
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 21.02.2003
Skąd: Białystok

Ostrzeżenie: (0%)
-----


w związku z tym: http://forum.php.pl/index.php?showtopic=38025 tematem zgłosiło się kilka osób chętnych do współpracy przy tworzeniu nowej wersji mojego serwisu. Każdego z nich poprosiłem o napisanie części jednego z modułów, aby ocenić ich umiejętności i później wybrać tego, którego kod będzie najpoprawniejszy, etc.

Ponieważ sam nie znam php postanowiłem poprosić o ocenę Was, jak mniemam, specjalistów w tej dziedzinie. Pierwszy kod do oceny już mam. Jest to niewielka część modułu newsów, zaledwie odłamek serwisu, który ma na celu sprawdzenie, czy autor poradzi sobie z napisaniem szybkiego, zaawansowanego i bezpiecznego CMS'a.

Link do modułu: http://www.kadysz.e9.pl/tomek/
Link do źródła: http://www.kadysz.e9.pl/tomek/source.zip

Proszę o ocenę, krytykę i propozycje ewentualnych poprawek.
BTW. jeśli ktoś chciałby dołączyć do grona programistów generacjax.pl
proszę o kontakt. wszelkie dane podałem w temacie:
http://forum.php.pl/index.php?showtopic=38025
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
k_c2or
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 21.02.2003
Skąd: Białystok

Ostrzeżenie: (0%)
-----


A co myślicie o takim kodzie?

Jest to wycinek modulu panelu adminitracyjnego, ktory zwraca kod HTML do szablonu. Layer do bazy obrabia odpowiednio dane w zaleznosci od typu.
Zależy mi na porównaniu dwóch tych wycinków (news powyżej i tego poniżej)
pod względem jakości kodu.

  1. <?php
  2.  
  3. class system_settings
  4. {
  5. private $lastSub='';
  6.  
  7. public function run($action)
  8. {
  9. $html='';
  10.  
  11. switch ($action)
  12. {
  13. default:
  14. case 'groups':
  15. $html=$this->groups();
  16. break;
  17.  
  18. case 'newgroup':
  19. $html=$this->newGroup();
  20. break;
  21.  
  22. case 'delete':
  23. $html=$this->delete();
  24. break;
  25. }
  26.  
  27. return $html;
  28. }
  29.  
  30. public function getName()
  31. {
  32. return "System settings";
  33. }
  34.  
  35. public function getSubName()
  36. {
  37. return $this->lastSub;
  38. }
  39.  
  40. private function newGroup()
  41. {
  42. $request=httpContext::instance()->request;
  43.  
  44. if($request->contains('group_name','group_key','group_description'))
  45. {
  46. $group_name=$request->map(POST,'group_name','',new stringCheck(3));
  47.  
  48. $group_key=$request->map(POST,'group_key','alphanumeric',new stringCheck(3));
  49.  
  50. $group_description=$request->map(POST,'group_description','string');
  51.  
  52. if($request->noErrors())
  53. {
  54. $db=db::instance();
  55.  
  56. $db->insert('settings_groups',array('gkey'=>$group_key,'name'=>$group_name,'description'=>$group_description));
  57.  
  58. if($db->affectedRows())
  59. {
  60. acpMessages::add(M_INFO,'New group has been successfully added.');
  61. return $this->groups();
  62. }
  63. }
  64. }
  65.  
  66. $form=new acpForm('Add new settings group');
  67.  
  68. $form->add(new textField('Group name*','group_name',''));
  69.  
  70. $form->add(new textarea('Group description','group_description',''));
  71.  
  72. $form->add(new textField('Group key*','group_key','','Needed when you want to access variable from specified group'));
  73.  
  74. $this->lastSub="New group";
  75.  
  76. return $form->fetch();
  77. }
  78.  
  79. private function groups()
  80. {
  81. $db=db::instance();
  82.  
  83. $groups=$db->getIterator("SELECT * FROM settings_groups");
  84.  
  85. $table=new acpTable('Groups',$groups);
  86.  
  87. $table->setActions('system/settings','sg_id',array('edit.gif'=>'edit/%ID%','delete.gif'=>'delete/%ID%'));
  88.  
  89. $table->setFields('name','description');
  90.  
  91. $table->setHeader('Name','Description','&nbsp;');
  92.  
  93. $this->lastSub="Groups";
  94.  
  95. return $table->fetch();
  96. }
  97.  
  98. private function delete()
  99. {
  100. $id=httpContext::instance()->request->map(GET,'3','int');
  101.  
  102. if($id>0)
  103. {
  104. $db=db::instance();
  105.  
  106. $count=$db->count('settings',array('sg'=>$id));
  107.  
  108. if($count>0)
  109. {
  110. acpMessages::add(M_WARNING,'Requested group must be empty before removing');
  111. }else
  112. {
  113. if($db->delete('settings_groups','sg_id='.$id))
  114. {
  115. acpMessages::add(M_INFO,'Group has been successfully removed.');
  116. }else
  117. {
  118. acpMessages::add(M_ERROR,'Failed to remove specified group.');
  119. }
  120. }
  121. }
  122. return $this->groups();
  123. }
  124. }
  125.  
  126. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 10:54