<?php class Application_Form_SmartPlaylist extends Zend_Form { public function init(){ } public function startForm($p_playlistId) { // load type $out = CcPlaylistQuery::create()->findPk($p_playlistId); if ($out->getDbType() == "static") { $playlistType = 0; } else { $playlistType = 1; } $spType = new Zend_Form_Element_Radio('sp_type'); $spType->setLabel('Set smart playlist type:') ->setDecorators(array('viewHelper')) ->setMultiOptions(array( 'static' => 'Static', 'dynamic' => 'Dynamic' )) ->setValue($playlistType); $this->addElement($spType); /* // load criteria from db $out = CcPlaylistcriteriaQuery::create()->findByDbPlaylistId($p_playlistId); */ /*$storedCrit = array(); foreach ($out as $crit) { $criteria = $crit->getDbCriteria(); $modifier = $crit->getDbModifier(); $value = $crit->getDbValue(); $extra = $crit->getDbExtra(); if($criteria == "limit"){ $storedCrit["limit"] = array("value"=>$value, "modifier"=>$modifier); }else{ $storedCrit["crit"][] = array("criteria"=>$criteria, "value"=>$value, "modifier"=>$modifier, "extra"=>$extra); } }*/ $save = new Zend_Form_Element_Button('save_button'); $save->setAttrib('class', 'ui-button ui-state-default sp-button'); $save->setAttrib('title', 'Save criteria only'); $save->setIgnore(true); $save->setLabel('Save'); $save->setDecorators(array('viewHelper')); $this->addElement($save); $generate = new Zend_Form_Element_Button('generate_button'); $generate->setAttrib('class', 'ui-button ui-state-default sp-button'); $generate->setAttrib('title', 'Save criteria and generate playlist content'); $generate->setIgnore(true); $generate->setLabel('Generate'); $generate->setDecorators(array('viewHelper')); $this->addElement($generate); $shuffle = new Zend_Form_Element_Button('shuffle_button'); $shuffle->setAttrib('class', 'ui-button ui-state-default sp-button'); $shuffle->setAttrib('title', 'Shuffle playlist content'); $shuffle->setIgnore(true); $shuffle->setLabel('Shuffle'); $shuffle->setDecorators(array('viewHelper')); $this->addElement($shuffle); $openSmartPlaylistOption = false; $numOfSubForm = 3; for ($i=0; $i<$numOfSubForm; $i++) { $subform = new Application_Form_SmartPlaylistCriteriaSubForm(); $subform->setCriteriaSetNumber($i); $subform->startForm($p_playlistId); $this->addSubForm($subform, 'sp_set_'.$i); if ($subform->getIsOpen()) { $openSmartPlaylistOption = true; } } //getting playlist content candidate count that meets criteria $pl = new Application_Model_Playlist($p_playlistId); $files = $pl->getListofFilesMeetCriteria(); $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/smart-playlist.phtml', "openOption"=> $openSmartPlaylistOption, "parent_form"=>$this, "numOfSubForm"=>$numOfSubForm)) )); } }