1<?php 2 3class calculateIncrementNumbersAction extends sfAction { 4 5 public function execute ($request) { 6 7 $upgradeUtility = new UpgradeUtility(); 8 $upgradeUtility->setDbConnection($this->getUser()->getAttribute('dbConnection')); 9 10 $tableStatus = $upgradeUtility->isUpgradeInfoTableAvailable(); 11 $versionInfo = $request->getParameter('versionInfo'); 12 $submitBy = $versionInfo['submitBy']; 13 14 if (!$tableStatus && $submitBy != 'selectVersion') { 15 $this->redirect('upgrade/selectVersion'); 16 } 17 18 $this->form = new VersionInfoForm(); 19 20 if ($request->isMethod('post')) { 21 22 $this->form->bind($request->getParameter($this->form->getName())); 23 24 if ($this->form->isValid()) { 25 26 $selectedVersion = $this->form->getValue('version'); 27 28 if ($selectedVersion < 0) { 29 throw new Exception("Invalid version"); 30 } 31 32 $this->getUser()->setAttribute('upgrade.startIncNumber', $upgradeUtility->getStartIncrementNumber($selectedVersion)); 33 $this->getUser()->setAttribute('upgrade.endIncNumber', $upgradeUtility->getEndIncrementNumber()); 34 $this->getUser()->setAttribute('upgrade.currentVersion', $selectedVersion); 35 36 $this->getRequest()->setParameter('submitBy', 'calculateIncrementNumbers'); 37 $this->forward('upgrade','index'); 38 39 } 40 } 41 } 42}