<?php
/*
* This file is part of the pwp package.
* (c) 2009-2010 Victor Rad' <victor.v.rad[at]gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* News form.
*
* @package form
* @subpackage News
* @version SVN: $Id: sfDoctrineFormTemplate.php 6174 2007-11-27 06:22:40Z fabien $
*/
class NewsForm extends BaseNewsForm
{
public function configure()
{
// prepare data
$request = sfContext::getInstance()->getRequest();
$defalutParam = sfConfig::get('app_news_all_providers');
$defalutNewsProviders[$defalutParam] = $defalutParam;
$newsProviders = $defalutNewsProviders + DFactory::get('NewsProviders')->getTable()->getActiveFormChoice();
$valueDateRange = $request->getParameter('date_range', sfConfig::get('app_news_all_date_range'));
$latestNews = DFactory::get('News')->getBuilder()->getQuery()->orderBy('n.created_at DESC')->limit(1)->fetchOne();
$earliestNews = DFactory::get('News')->getBuilder()->getQuery()->orderBy('n.created_at ASC')->limit(1)->fetchOne();
unset(
$this['id'], $this['title'],
$this['description'], $this['hash'],
$this['link'], $this['updated_at'],
$this['news_providers_id'], $this['created_at']
);
// set widgets
$this->widgetSchema['date_range'] = new myWidgetFormDateRangeJQueryUI(array(
'separator' => sfConfig::get('app_news_date_range_separate'),
'latestDate' => $latestNews->getDate(),
'earliestDate' => $earliestNews->getDate(),
), array('value' => $valueDateRange));
$this->widgetSchema['news_providers'] = new sfWidgetFormChoice(array('choices' => $newsProviders));
// validators
$this->validatorSchema['date_range'] = new myValidatorDateRange(array(
'default_value' => sfConfig::get('app_news_all_date_range'),
'separator' => sfConfig::get('app_news_date_range_separate'
)));
$this->validatorSchema['news_providers'] = new sfValidatorChoice(array('choices' => $newsProviders));
// set label fo widgets
$this->widgetSchema->setLabels(array(
'date_range' => 'For the range',
'news_providers' => 'News provider'
));
}
}