/** Set up the individual period * @access public * @return void * @throws Pas_Exception_Param */ public function periodAction() { if ($this->getParam('id', false)) { $id = (int) $this->getParam('id'); $this->view->periods = $this->_reeces->getReecePeriodDetail($id); $emperors = new Emperors(); $this->view->reeces = $emperors->getReeceDetail($id); $reverses = new RevTypes(); $this->view->reverses = $reverses->getRevTypeReece($id); } else { throw new Pas_Exception_Param($this->_missingParameter, 500); } }
/** Set up the individual reverse type */ public function typeAction() { if ($this->getParam('id', false)) { $id = $this->getParam('id'); $this->view->reverses = $this->_revTypes->getReverseTypesDetails($id); $emps = new Emperors(); $this->view->emps = $emps->getEmperorRevTypes($id); $mints = new Mints(); $this->view->mints = $mints->getMintReverseType($id); } else { throw new Pas_Exception_Param($this->_missingParameter, 500); } }
/** The constructor * @access public * @param array $options * @return void */ public function __construct(array $options = null) { // Construct the select menu data $denominations = new Denominations(); $denomination_options = $denominations->getOptionsRoman(); $statuses = new Statuses(); $status_options = $statuses->getCoinStatus(); $dies = new Dieaxes(); $die_options = $dies->getAxes(); $wears = new WearTypes(); $wear_options = $wears->getWears(); $rulers = new Rulers(); $ro = $rulers->getRomanRulers(); $mints = new Mints(); $mo = $mints->getRomanMints(); $reeces = new Reeces(); $reece = $reeces->getOptions(); $money = new Moneyers(); $moneyers = $money->getRepublicMoneyers(); $reverse = new RevTypes(); $reverses = $reverse->getRevTypes(); parent::__construct($options); $this->setName('romancoin'); $denomination = new Zend_Form_Element_Select('denomination'); $denomination->setLabel('Denomination: ')->setRequired(true)->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose denomination', 'Valid denominations' => $denomination_options))->addValidator('InArray', false, array(array_keys($denomination_options)))->addFilters(array('StripTags', 'StringTrim'))->addErrorMessage('You must enter a denomination'); $denomination_qualifier = new Zend_Form_Element_Radio('denomination_qualifier'); $denomination_qualifier->setLabel('Denomination qualifier: ')->addMultiOptions(array('1' => 'Certain', '2' => 'Probably', '3' => 'Possibly'))->setValue(1)->addFilters(array('StripTags', 'StringTrim'))->setOptions(array('separator' => '')); $ruler = new Zend_Form_Element_Select('ruler_id'); $ruler->setLabel('Ruler: ')->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose a ruler', 'Valid rulers' => $ro))->addValidator('InArray', false, array(array_keys($ro))); $ruler_qualifier = new Zend_Form_Element_Radio('ruler_qualifier'); $ruler_qualifier->setLabel('Ruler qualifier: ')->addMultiOptions(array('1' => 'Certain', '2' => 'Probably', '3' => 'Possibly'))->addFilters(array('StripTags', 'StringTrim'))->setOptions(array('separator' => '')); $ricID = new Zend_Form_Element_Select('ricID'); $ricID->setLabel('Roman Imperial Coinage ID number: ')->addFilters(array('StripTags', 'StringTrim'))->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addValidator('Imperial')->addMultiOptions(array(null => 'Choose RIC type from Nomisma'))->setDescription('These identifiers are dynamically drawn from Nomisma.org. They have not parsed all volumes of RIC yet and it may take a short while to load.')->setRegisterInArrayValidator(false); $mint_id = new Zend_Form_Element_Select('mint_id'); $mint_id->setLabel('Issuing mint: ')->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose a mint', 'Valid mints' => $mo))->addValidator('InArray', false, array(array_keys($mo)))->addFilters(array('StripTags', 'StringTrim')); $mint_qualifier = new Zend_Form_Element_Radio('mint_qualifier'); $mint_qualifier->setLabel('Mint qualifier: ')->addMultiOptions(array('1' => 'Certain', '2' => 'Probably', '3' => 'Possibly'))->addFilters(array('StripTags', 'StringTrim'))->setOptions(array('separator' => '')); $reeceID = new Zend_Form_Element_Select('reeceID'); $reeceID->setLabel('Reece period: ')->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose a Reece period', 'Valid periods' => $reece))->addValidator('InArray', false, array(array_keys($reece)))->addFilters(array('StripTags', 'StringTrim')); $moneyer = new Zend_Form_Element_Select('moneyer'); $moneyer->setLabel('Republican Moneyer: ')->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose a moneyer', 'Valid moneyers' => $moneyers))->addValidator('InArray', false, array(array_keys($moneyers)))->addFilters(array('StripTags', 'StringTrim')); $moneyer_qualifier = new Zend_Form_Element_Radio('moneyer_qualifier'); $moneyer_qualifier->setLabel('Republican Moneyer qualifier: ')->addMultiOptions(array('1' => 'Certain', '2' => 'Probably', '3' => 'Possibly'))->addFilters(array('StripTags', 'StringTrim'))->setOptions(array('separator' => '')); $rrcID = new Zend_Form_Element_Select('rrcID'); $rrcID->setLabel('Roman Republican Coinage ID number: ')->addFilters(array('StripTags', 'StringTrim'))->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addValidator('Republican')->addMultiOptions(array(null => 'Choose RRC type from Nomisma'))->setDescription('These identifiers are dynamically drawn from Nomisma.org and there maybe a short delay loading them.')->setRegisterInArrayValidator(false); $revtypeID = new Zend_Form_Element_Select('revtypeID'); $revtypeID->setLabel('Reverse type: ')->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose a reverse type', 'Valid reverses' => $reverses))->addFilters(array('StripTags', 'StringTrim'))->addValidator('InArray', false, array(array_keys($reverses))); $revTypeID_qualifier = new Zend_Form_Element_Radio('revTypeID_qualifier'); $revTypeID_qualifier->setLabel('Reverse type qualifier: ')->addMultiOptions(array('1' => 'Certain', '2' => 'Probably', '3' => 'Possibly'))->addFilters(array('StripTags', 'StringTrim'))->setOptions(array('separator' => '')); $status = new Zend_Form_Element_Select('status'); $status->setLabel('Status: ')->setValue(1)->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addFilters(array('StripTags', 'StringTrim'))->addMultiOptions(array(null => 'Choose coin status', 'Valid options' => $status_options))->addValidator('InArray', false, array(array_keys($status_options))); $status_qualifier = new Zend_Form_Element_Radio('status_qualifier'); $status_qualifier->setLabel('Status qualifier: ')->addMultiOptions(array('1' => 'Certain', '2' => 'Probably', '3' => 'Possibly'))->setValue(1)->addFilters(array('StripTags', 'StringTrim'))->setOptions(array('separator' => '')); $degree_of_wear = new Zend_Form_Element_Select('degree_of_wear'); $degree_of_wear->setLabel('Degree of wear: ')->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose coin wear status', 'Valid options' => $wear_options))->addValidator('InArray', false, array(array_keys($wear_options)))->addFilters(array('StripTags', 'StringTrim')); $obverse_inscription = new Zend_Form_Element_Text('obverse_inscription'); $obverse_inscription->setLabel('Obverse inscription: ')->setAttrib('class', 'span6')->addFilters(array('StripTags', 'StringTrim')); $reverse_inscription = new Zend_Form_Element_Text('reverse_inscription'); $reverse_inscription->setLabel('Reverse inscription: ')->setAttrib('class', 'span6')->addFilters(array('StripTags', 'StringTrim')); $obverse_description = new Zend_Form_Element_Textarea('obverse_description'); $obverse_description->setLabel('Obverse description: ')->setAttribs(array('rows' => 3, 'cols' => 80, 'class' => 'span6'))->addFilters(array('StripTags', 'StringTrim')); $reverse_description = new Zend_Form_Element_Textarea('reverse_description'); $reverse_description->setLabel('Reverse description: ')->setAttribs(array('rows' => 3, 'cols' => 80, 'class' => 'span6'))->addFilters(array('StripTags', 'StringTrim')); $reverse_mintmark = new Zend_Form_Element_Textarea('reverse_mintmark'); $reverse_mintmark->setLabel('Reverse mint mark: ')->setAttribs(array('rows' => 3, 'cols' => 80, 'class' => 'span6'))->addFilters(array('StripTags', 'StringTrim')); $die_axis_measurement = new Zend_Form_Element_Select('die_axis_measurement'); $die_axis_measurement->setLabel('Die axis measurement: ')->setAttrib('class', 'input-xxlarge selectpicker show-menu-arrow')->addMultiOptions(array(null => 'Choose die axis', 'Available axes' => $die_options))->addValidator('InArray', false, array(array_keys($die_options)))->addFilters(array('StripTags', 'StringTrim')); $die_axis_certainty = new Zend_Form_Element_Radio('die_axis_certainty'); $die_axis_certainty->setLabel('Die axis certainty: ')->addMultiOptions(array('1' => 'Certain', '2' => 'Probably', '3' => 'Possibly'))->addFilters(array('StripTags', 'StringTrim'))->setOptions(array('separator' => '')); //Submit button $submit = new Zend_Form_Element_Submit('submit'); $this->addElements(array($ruler, $denomination, $moneyer, $mint_id, $reeceID, $status, $revtypeID, $degree_of_wear, $obverse_description, $obverse_inscription, $reverse_description, $reverse_inscription, $die_axis_measurement, $die_axis_certainty, $mint_qualifier, $ruler_qualifier, $denomination_qualifier, $status_qualifier, $revTypeID_qualifier, $reverse_mintmark, $rrcID, $ricID, $submit)); $this->addDisplayGroup(array('denomination', 'denomination_qualifier', 'ruler_id', 'ruler_qualifier', 'ricID', 'mint_id', 'mint_qualifier', 'reeceID', 'revtypeID', 'revTypeID_qualifier', 'moneyer', 'rrcID', 'status', 'status_qualifier', 'degree_of_wear', 'obverse_description', 'obverse_inscription', 'reverse_description', 'reverse_inscription', 'reverse_mintmark', 'die_axis_measurement', 'die_axis_certainty'), 'details'); $this->addDisplayGroup(array('submit'), 'buttons'); parent::init(); }
/** Clone the options * @access public * @param string $broadperiod * @param array $coinDataFlat * @throw Exeption */ public function optionsAddClone($broadperiod, array $coinDataFlat) { switch ($broadperiod) { case 'IRON AGE': if (isset($coinDataFlat['denomination'])) { $geographies = new Geography(); $geography_options = $geographies->getIronAgeGeographyMenu($coinDataFlat['denomination']); $form->geographyID->addMultiOptions(array(null => 'Choose geographic region', 'Available regions' => $geography_options)); $form->geographyID->addValidator('InArray', false, array(array_keys($geography_options))); } break; case 'ROMAN': if (isset($coinDataFlat['ruler'])) { $reverses = new RevTypes(); $reverse_options = $reverses->getRevTypesForm($coinDataFlat['ruler']); if ($reverse_options) { $form->revtypeID->addMultiOptions(array(null => 'Choose reverse type', 'Available reverses' => $reverse_options)); } else { $form->revtypeID->addMultiOptions(array(null => 'No options available')); } } else { $form->revtypeID->addMultiOptions(array(null => 'No options available')); } if (isset($coinDataFlat['ruler']) && $coinDataFlat['ruler'] == 242) { $moneyers = new Moneyers(); $moneyer_options = $moneyers->getRepublicMoneyers(); $form->moneyer->addMultiOptions(array(null => 'Choose moneyer', 'Available moneyers' => $moneyer_options)); } else { $form->moneyer->addMultiOptions(array(null => 'No options available')); } break; case 'EARLY MEDIEVAL': $types = new MedievalTypes(); $type_options = $types->getMedievalTypeToRulerMenu($coinDataFlat['ruler']); $form->typeID->addMultiOptions(array(null => 'Choose Early Medieval type', 'Available types' => $type_options)); break; case 'MEDIEVAL': $types = new MedievalTypes(); $type_options = $types->getMedievalTypeToRulerMenu($coinDataFlat['ruler']); $form->typeID->addMultiOptions(array(null => 'Choose Medieval type', 'Available types' => $type_options)); break; case 'POST MEDIEVAL': $types = new MedievalTypes(); $type_options = $types->getMedievalTypeToRulerMenu($coinDataFlat['ruler']); $form->typeID->addMultiOptions(array(null => 'Choose Post Medieval type', 'Available types' => $type_options)); break; default: throw new Exception('No period supplied', 500); } }
/** add and clone last record * @access public * @param string $broadperiod * @param array $coinDataFlat * @return void */ public function optionsAddClone($broadperiod, array $coinDataFlat) { $coinDataFlat = $coinDataFlat[0]; switch ($broadperiod) { case 'IRON AGE': if (array_key_exists('denomination', $coinDataFlat)) { $geographies = new Geography(); $geography_options = $geographies->getIronAgeGeographyMenu($coinDataFlat['denomination']); $this->_view->form->geographyID->addMultiOptions(array(null => 'Choose geographic region', 'Available regions' => $geography_options)); $this->_view->form->geographyID->addValidator('InArray', false, array(array_keys($geography_options))); } break; case 'ROMAN': if (array_key_exists('ruler_id', $coinDataFlat)) { if (!is_null($coinDataFlat['ruler_id'])) { $rulers = new Rulers(); $identifier = $rulers->fetchRow($rulers->select()->where('id = ?', $coinDataFlat['ruler_id'])); if ($identifier) { $nomisma = $identifier->nomismaID; $rrcTypes = new Nomisma(); $this->_view->form->ricID->addMultiOptions(array(null => 'Choose RIC type', 'Available RIC types' => $rrcTypes->getRICDropdownsFlat($nomisma))); } } $reverses = new RevTypes(); $reverse_options = $reverses->getRevTypesForm($coinDataFlat['ruler_id']); if ($reverse_options) { $this->_view->form->revtypeID->addMultiOptions(array(null => 'Choose reverse type', 'Available reverses' => $reverse_options)); $this->_view->form->revtypeID->setRegisterInArrayValidator(false); } else { $this->_view->form->revtypeID->addMultiOptions(array(null => 'No options available')); $this->_view->form->revtypeID->setRegisterInArrayValidator(false); } } else { $this->_view->form->revtypeID->addMultiOptions(array(null => 'No options available')); $this->_view->form->revtypeID->setRegisterInArrayValidator(false); } if (array_key_exists('ruler_id', $coinDataFlat) && $coinDataFlat['ruler_id'] == '242') { $moneyers = new Moneyers(); $moneyer_options = $moneyers->getRepublicMoneyers(); $this->_view->form->moneyer->addMultiOptions(array(null => 'Choose moneyer', 'Available moneyers' => $moneyer_options)); if (array_key_exists('moneyer', $coinDataFlat)) { if (!is_null($coinDataFlat['moneyer'])) { $identifier = $moneyers->fetchRow($moneyers->select()->where('id = ?', $coinDataFlat['moneyer'])); if ($identifier) { $nomisma = $identifier->nomismaID; $rrcTypes = new Nomisma(); $this->_view->form->rrcID->addMultiOptions(array(null => 'Choose RRC type', 'Available RRC types' => $rrcTypes->getRRCDropdownsFlat($nomisma))); } } } } else { $this->_view->form->moneyer->addMultiOptions(array(null => 'No options available')); } break; case 'EARLY MEDIEVAL': if (array_key_exists('ruler_id', $coinDataFlat)) { $types = new MedievalTypes(); $type_options = $types->getMedievalTypeToRulerMenu($coinDataFlat['ruler_id']); $this->_view->form->typeID->addMultiOptions(array(null => 'Choose Early Medieval type', 'Available types' => $type_options)); } break; case 'MEDIEVAL': if (array_key_exists('ruler_id', $coinDataFlat)) { $types = new MedievalTypes(); $type_options = $types->getMedievalTypeToRulerMenu($coinDataFlat['ruler_id']); $this->_view->form->typeID->addMultiOptions(array(null => 'Choose Medieval type', 'Available types' => $type_options)); } break; case 'POST MEDIEVAL': if (array_key_exists('ruler_id', $coinDataFlat)) { $types = new MedievalTypes(); $type_options = $types->getMedievalTypeToRulerMenu((int) $coinDataFlat['ruler_id']); $this->_view->form->typeID->addMultiOptions(array(null => 'Choose Post Medieval type', 'Available types' => $type_options)); } break; default: return false; } }
/** Get reverse types * @access public * @return mixed */ public function revtypesAction() { if ($this->getParam('term', false)) { $types = new RevTypes(); $type_options = $types->getTypes($this->getParam('term')); if ($type_options) { $response = $type_options; } else { $response = array(array('id' => null, 'term' => 'No options available')); } } else { $response = array(array('id' => null, 'term' => 'No ruler specified')); } echo Zend_Json::encode($response); }
/** Link a ruler to a reverse */ public function rulertoreversetypeAction() { $form = new AddReverseToRulerForm(); $rulerid = $this->getParam('rulerid'); $form->rulerID->setValue($rulerid); $reversetypes = new RevTypes(); $reversetypesList = $reversetypes->getRevTypes(); $form->reverseID->addMultiOptions($reversetypesList); $this->view->form = $form; if ($this->_request->isPost()) { if ($form->isValid($this->_request->getPost())) { $reverses = new RulerRevType(); $reverses->add($form->getValues()); $this->getFlash()->addMessage('A new mint has been entered.'); $this->redirect($this->_redirectUrl . 'romanruler/id/' . $rulerid); } else { $this->getFlash()->addMessage($this->_formErrors); $form->populate($this->_request->getPost()); } } }