changeYearForm.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. class changeYearForm extends Staple_Form
  3. {
  4. public function _start()
  5. {
  6. //$this->setLayout('');
  7. $this->setName('changeYearForm')
  8. ->setAction($this->link(array('timesheet','changeyear')));
  9. $year = new Staple_Form_FoundationSelectElement('year','Year');
  10. $year->setRequired()
  11. ->addOptionsArray($this->getYears())
  12. ->addValidator(new Staple_Form_Validate_InArray($this->getYears()));
  13. if(count($this->getYears()) == 0)
  14. {
  15. $year->addOption(date('Y'),date('Y'));
  16. }
  17. $submit = new Staple_Form_FoundationSubmitElement('submit','Submit');
  18. $submit->addClass('button expand radius');
  19. $this->addField($year,$submit);
  20. }
  21. function getYears()
  22. {
  23. $db = Staple_DB::get();
  24. //Get user ID from Auth
  25. $user = new userModel();
  26. $userId = $user->getId();
  27. $sql = "SELECT YEAR(FROM_UNIXTIME(inTime)) AS 'year' FROM timeEntries WHERE userId = $userId GROUP BY year ORDER by year ASC";
  28. if($db->query($sql)->num_rows > 0)
  29. {
  30. $query = $db->query($sql);
  31. $data = array();
  32. while($result = $query->fetch_assoc())
  33. {
  34. $data[$result['year']] = $result['year'];
  35. }
  36. return $data;
  37. }
  38. else
  39. {
  40. return array();
  41. }
  42. }
  43. }
  44. ?>