Ejemplo n.º 1
0
 function checkPermission($action = '')
 {
     $auth = Zend_Auth::getInstance();
     $identity = $auth->getIdentity();
     $wepModel = new Model_Wep();
     $permissions = $wepModel->getRowsByFields($this->tblName, 'user_id', $identity->user_id);
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 /**
  *
  * 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;
 }
Ejemplo n.º 5
0
 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');
 }
Ejemplo n.º 6
0
 /**
  * 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']}");
 }
Ejemplo n.º 7
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);
 }