/** 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);
     }
 }
예제 #3
0
 /** 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();
 }
예제 #4
0
 /** 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;
     }
 }
예제 #6
0
 /** 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());
         }
     }
 }