function checkPermission($action = '') { $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $wepModel = new Model_Wep(); $permissions = $wepModel->getRowsByFields($this->tblName, 'user_id', $identity->user_id); }
public static function getRegionNamefromCode($code) { $db = new Model_Wep(); $region = $db->getRowsByFields('Region', 'Code', $code); foreach ($region as $regionData) { if ($regionData['lang_id'] == 1) { return ucfirst(strtolower($regionData['Name'])); } } return false; }
public function getFormDefination() { $baseurl = Zend_Controller_Front::getInstance()->getBaseUrl(); $model = new Model_Wep(); $this->setAttrib('class', 'simplified-sub-element'); $form['id'] = new Zend_Form_Element_Hidden('id'); $form['id']->setValue($this->data['id']); $form['@ref'] = new Zend_Form_Element_Text('@ref'); $form['@ref']->setLabel('Identifier')->setValue($this->data['@ref'])->setRequired()->setAttribs(array('disabled' => 'disabled')); $reportingOrgType = $model->getRowsByFields('OrganisationType', 'id', $this->data['@type']); $form['type'] = new Zend_Form_Element_Select('type'); $form['type']->setLabel('Type')->setAttrib('class', 'form-select')->addMultiOptions(array($this->data['@type'] => $reportingOrgType[0]['Name']))->setAttribs(array('disabled' => 'disabled')); $form['text'] = new Zend_Form_Element_Textarea('text'); $form['text']->setLabel('Name')->setValue($this->data['text'])->setAttrib('cols', '40')->setAttrib('rows', '2')->setAttribs(array('disabled' => 'disabled')); $lang = $model->getRowsByFields('Language', 'id', $this->data['@xml_lang']); $form['xml_lang'] = new Zend_Form_Element_Select('@xml_lang'); $form['xml_lang']->setLabel('Language')->setAttrib('class', 'form-select')->setAttribs(array('disabled' => 'disabled'))->addMultioptions(array($this->data['@xml_lang'] => $lang[0]['Code'] . '-' . $lang[0]['Name'])); $this->addElements($form); $this->setAction($baseurl . '/organisation/update-default/?elementName=ReportingOrg'); return $this; }
/** * * Function to get the activity status and activity sectors information for dashboard. * @param Array $activities */ public function getActivityAttribs($activities) { $model = new Model_Wep(); $sectors = array(); $iatiStatuses = $model->getRowsByFields('ActivityStatus', 'lang_id', 1); $status = array(); foreach ($activities as $activity) { //Preapare sector data. $sectorData = $model->listAll('iati_sector', 'activity_id', $activity['id']); if ($sectorData) { foreach ($sectorData as $sectorValue) { if (!$sectorValue['@vocabulary'] || $sectorValue['@vocabulary'] == 3) { if (!$sectorValue['@code']) { continue; } $sectorName = $model->fetchValueById('Sector', $sectorValue['@code'], 'Name'); if (strlen($sectorName) > 35) { $sectorName = substr($sectorName, 0, 32) . "..."; } } else { $sectorName = $sectorValue['text']; if (strlen($sectorName) > 35) { $sectorName = preg_replace('/ \\w+$/', '', substr($sectorName, 0, 32)); $sectorName .= "…"; } } if ($sectorName) { $sectors[] = $sectorName; } } } //Prepare activity status data. $statusData = $model->listAll('iati_activity_status', 'activity_id', $activity['id']); if ($statusData) { foreach ($statusData as $statusValue) { $status[$statusValue['@code']] += 1; } } else { $status['unknown'] += 1; } } foreach ($iatiStatuses as $iatiStatus) { $iatiStatus['count'] = $status[$iatiStatus['Code']]; $activityStatus[] = $iatiStatus; } if ($status['unknown']) { $activityStatus[] = array('Name' => 'Status Unspecified', 'count' => $status['unknown']); } $output = array(); $output['status'] = $activityStatus; $output['sector'] = array_unique($sectors); return $output; }
public function add($status = "add", $account_id = '') { $form = array(); $model = new Model_Wep(); $language = $model->getCodeArray('Language', null, '1'); $currency = $model->getCodeArray('Currency', null, '1'); if ($status != 'edit') { $rowSet = $model->getRowsByFields('default_field_values', 'account_id', $account_id); $defaultValues = unserialize($rowSet[0]['object']); $default = $defaultValues->getDefaultFields(); } $form['xml_lang'] = new Zend_Form_Element_Select('xml_lang'); $form['xml_lang']->setLabel('Language')->setAttrib('class', 'form-select')->setRequired()->addMultiOption('', 'Select anyone'); if ($status != 'edit') { $form['xml_lang']->setValue($default['language']); } foreach ($language as $key => $eachLanguage) { $form['xml_lang']->addMultiOption($key, $eachLanguage); } $form['default_currency'] = new Zend_Form_Element_Select('default_currency'); $form['default_currency']->setLabel('Default Currency')->setRequired()->setAttrib('class', 'form-select')->addMultiOption('', 'Select anyone'); if ($status != 'edit') { $form['default_currency']->setValue($default['currency']); } foreach ($currency as $key => $eachCurrency) { $form['default_currency']->addMultiOption($key, $eachCurrency); } $form['hierarchy'] = new Zend_Form_Element_Text('hierarchy'); $form['hierarchy']->setAttrib('class', 'form-text')->setLabel('Hierarchy'); $form['linked_data_uri'] = new Zend_Form_Element_text('linked_data_uri'); $form['linked_data_uri']->setLabel('Linked Data Uri')->setAttrib('class', 'form-text'); if ($status != 'edit') { $form['linked_data_uri']->setValue($default['linked_data_default']); } //This code is used to append a <div> with help class for all form elements, used for displaying help foreach ($form as $item_name => $element) { $form[$item_name]->setDecorators(array('ViewHelper', 'Errors', 'Label', array('HtmlTag', array('tag' => '<div>', 'placement' => 'PREPEND', 'class' => 'help activity-' . $item_name)), array(array('wrapperAll' => 'HtmlTag'), array('tag' => 'div', 'class' => 'clearfix form-item')))); } $this->addElements($form); $this->addDisplayGroup(array('xml_lang', 'default_currency', 'hierarchy', 'linked_data_uri'), 'field1', array('legend' => 'Activity')); $activity = $this->getDisplayGroup('field1'); $activity->addDecorators(array(array(array('wrapperAll' => 'HtmlTag'), array('tag' => 'div', 'class' => 'default-activity-list')))); /* $form1 = new Form_Wep_ReportingOrganisation(); $form1->add('add', $account_id); $this->addSubForm($form1, 'Reporting Organisation'); $iati_identifier = new Zend_Form_Element_Text('iati_identifier_text'); $iati_identifier->setLabel('Iati Identifier')->setAttrib('class', 'form-text') ->setRequired() ->setDecorators( array( 'ViewHelper', 'Errors', 'Label', array('HtmlTag', array( 'tag' =>'<div>', 'placement' =>'APPEND', 'class' =>'help identifier-text' ) ), array(array( 'wrapperAll' => 'HtmlTag' ), array( 'tag' => 'div','class'=>'clearfix form-element')) ) ); $this->addElement($iati_identifier); $this->addDisplayGroup(array('iati_identifier_text'), 'field',array('legend'=>'Iati Identifier')); $identifier = $this->getDisplayGroup('field'); $identifier->addDecorators( array( array(array('wrapperAll' => 'HtmlTag'), array('tag' => 'div', 'class' => 'default-activity-list')) ) ); */ $form1 = new Form_Wep_IatiIdentifier(); $form1->add('add', $account_id); $form1->removeElement('save'); $this->addSubForm($form1, 'IATI Identifier'); $save = new Zend_Form_Element_Submit('save'); $save->setValue('Save')->setAttrib('class', 'form-submit'); $this->addElement($save); $this->setMethod('post'); }
/** * Update State Of An Organisation */ public function updateStateAction() { $ids = $this->getRequest()->getParam('ids'); $state = $this->getRequest()->getParam('status'); $organisationIds = explode(',', $ids); $db = new Model_OrganisationState(); $not_valid = false; if ($not_valid) { $this->_helper->FlashMessenger->addMessage(array('warning' => "The organisation cannot be changed\n to the state. Please check that a state to be\n changed is valid for all selected organisations")); } else { if ($state == Iati_WEP_ActivityState::STATUS_PUBLISHED) { $identity = Zend_Auth::getInstance()->getIdentity(); $accountId = $identity->account_id; $modelRegistryInfo = new Model_RegistryInfo(); $registryInfo = $modelRegistryInfo->getOrgRegistryInfo($accountId); if (!$registryInfo) { $this->_helper->FlashMessenger->addMessage(array('error' => "Registry information not found.\n Please go to\n <a href='{$this->view->baseUrl()}/wep/settings'>Settings</a>\n to add registry info.")); } else { if (!$registryInfo->publisher_id) { $this->_helper->FlashMessenger->addMessage(array('error' => "Publisher Id not found.\n Xml files could not be created.\n Please go to\n <a href='{$this->view->baseUrl()}/wep/settings'>Settings</a>\n to add publisher id.")); } else { $db->updateOrganisationState($organisationIds, (int) $state); // Generate Xml $obj = new Iati_Core_Xml(); $fileName = $obj->generateFile('organisation', $organisationIds, $registryInfo->publisher_id); // Fetch last updated data's datetime $wepModel = new Model_Wep(); $organsationInfo = $wepModel->getRowsByFields('iati_organisation', 'id', $organisationIds[0]); $lastUpdateDatetime = $organsationInfo[0]['@last_updated_datetime']; //Set all status to 0 $modelPublished = new Model_OrganisationPublished(); $modelPublished->resetPublishedInfo($accountId); $organisationpublishedModel = new Model_OrganisationPublished(); $publishedData['publishing_org_id'] = $accountId; $publishedData['filename'] = $fileName; $publishedData['organisation_count'] = count($organisationIds); $publishedData['data_updated_datetime'] = $lastUpdateDatetime; $publishedData['published_date'] = date('Y-m-d H:i:s'); $publishedData['status'] = 1; $organisationpublishedModel->savePublishedInfo($publishedData); if ($registryInfo->update_registry) { if (!$registryInfo->api_key) { $this->_helper->FlashMessenger->addMessage(array('error' => "Api Key not found.\n Activities could not be registered\n in IATI Registry. Please go to\n <a href='{$this->view->baseUrl()}/wep/settings'>Settings</a>\n to add API key.")); } else { $reg = new Iati_Registry($registryInfo->publisher_id, $registryInfo->api_key); $organisationpublishedModel = new Model_OrganisationPublished(); $files = $organisationpublishedModel->getPublishedInfo($accountId); $published = Model_Registry::publish($files, $accountId, $registryInfo, true); if ($published['error']) { $this->_helper->FlashMessenger->addMessage(array('error' => $published['error'])); } else { $this->_helper->FlashMessenger->addMessage(array('message' => "Organisation\n published to IATI registry.")); } } } else { $this->_helper->FlashMessenger->addMessage(array('message' => "Organisation xml files created.")); } } } } else { $db->updateOrganisationState($organisationIds, (int) $state); } } $this->_redirect("organisation/view-elements/?parentId={$organisationIds['0']}"); }
public function updateActivityUpdatedDatetime($activity_id) { $model = new Model_Wep(); $rowSet = $model->getRowsByFields('iati_activity', 'id', $activity_id); $data['id'] = $activity_id; $data['@last_updated_datetime'] = date('Y-m-d H:i:s'); $result = $model->updateRowsToTable('iati_activity', $data); }