PageRenderTime 43ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/apps/editar/modules/languages/actions/components.class.php

http://pumukit.googlecode.com/
PHP | 85 lines | 54 code | 17 blank | 14 comment | 7 complexity | 457a47606a14f46c7938f7066203f62a MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. /**
  3. * languages components.
  4. *
  5. * @package fin
  6. * @subpackage languages
  7. * @author Your name here
  8. * @version SVN: $Id: components.class.php 2692 2006-11-15 21:03:55Z fabien $
  9. */
  10. class languagesComponents extends sfComponents
  11. {
  12. /**
  13. * Executes index component
  14. *
  15. */
  16. public function executePreview()
  17. {
  18. if ($this->getUser()->hasAttribute('id', 'tv_admin/language')){
  19. $this->language = LanguagePeer::retrieveByPk($this->getUser()->getAttribute('id', null, 'tv_admin/language'));
  20. //$this->language->setCulture( $this->getUser()->getCulture() );
  21. //$this->forward404Unless($this->language);
  22. }
  23. }
  24. public function executeList()
  25. {
  26. $limit = 15;
  27. $offset = 0;
  28. $c = new Criteria();
  29. $c->addAscendingOrderByColumn(LanguagePeer::ID);
  30. $this->processFilters($c);
  31. $cTotal = clone $c;
  32. if ($this->hasRequestParameter('page'))
  33. {
  34. $this->getUser()->setAttribute('page', $this->getRequestParameter('page'), 'tv_admin/language');
  35. }
  36. if ($this->getUser()->hasAttribute('page', 'tv_admin/language') )
  37. {
  38. $this->page = $this->getUser()->getAttribute('page', null, 'tv_admin/language');
  39. $offset = ($this->page - 1) * $limit;
  40. $c->setLimit($limit);
  41. $c->setOffset($offset);
  42. }
  43. $this->total_language_all = LanguagePeer::doCount(new Criteria());
  44. $this->total_language = LanguagePeer::doCount($cTotal);
  45. $this->total = ceil($this->total_language / $limit);
  46. if ($this->total < $this->page)
  47. {
  48. $this->getUser()->setAttribute('page',1);
  49. $this->page = 1;
  50. $c->setOffset(0);
  51. }
  52. $this->languages = LanguagePeer::doSelectWithI18n($c, $this->getUser()->getCulture());
  53. }
  54. protected function processFilters($c)
  55. {
  56. if ($this->getRequest()->hasParameter('filter')){
  57. $filters = $this->getRequestParameter('filters');
  58. $this->getUser()->getAttributeHolder()->removeNamespace('tv_admin/language/filters');
  59. $this->getUser()->getAttributeHolder()->add($filters, 'tv_admin/language/filters');
  60. }
  61. $filters = $this->getUser()->getAttributeHolder()->getAll('tv_admin/language/filters');
  62. if (isset($filters['name']) && $filters['name'] !== ''){
  63. $c->addJoin(LanguagePeer::ID, LanguageI18nPeer::ID);
  64. $c->add(LanguageI18nPeer::NAME, '%' . $filters['name']. '%', Criteria::LIKE);
  65. $c->add(LanguageI18nPeer::CULTURE, $this->getUser()->getCulture() );
  66. }
  67. }
  68. }