Esempio n. 1
0
 public function updateActivityHash($activity_id)
 {
     $activityClassobj = new Iati_Aidstream_Element_Activity();
     $activityData = $activityClassobj->fetchData($activity_id, false);
     unset($activityData['Activity']['@last_updated_datetime']);
     $new_hash = sha1(serialize($activityData));
     $data['activity_id'] = $activity_id;
     $data['hash'] = $new_hash;
     $has_hash = $this->getByActivityId($activity_id);
     if ($has_hash) {
         if ($has_hash['hash'] === $new_hash) {
             return false;
         } else {
             $this->updateHashByActivityId($data);
             return true;
         }
     } else {
         $this->insert($data);
         return true;
     }
 }
Esempio n. 2
0
 public function deleteActivityById($activityId)
 {
     $element = new Iati_Aidstream_Element_Activity();
     $element->deleteElement($activityId);
     $modelActivityHash = new Model_ActivityHash();
     $modelActivityHash->deleteActivityHash($activityId);
 }
Esempio n. 3
0
 public function duplicateActivityAction()
 {
     $identity = Zend_Auth::getInstance()->getIdentity();
     $activityId = $this->_getParam('activity_id');
     if (!$activityId) {
         $this->_helper->FlashMessenger->addMessage(array('error' => "No id provided."));
         $this->_redirect('wep/view-activities');
     }
     $activityClassObj = new Iati_Aidstream_Element_Activity();
     $activityModel = new Model_Activity();
     $wepModel = new Model_Wep();
     $activities = $wepModel->listAll('iati_activities', 'account_id', $identity->account_id);
     $activities_id = $activities[0]['id'];
     $activityData = $activityClassObj->fetchData($activityId, false);
     $form = new Form_Wep_IatiIdentifier('add', $identity->account_id);
     $form->add('add', $identity->account_id);
     $form->populate(array('reporting_org' => $activityData['Activity']['ReportingOrg']['@ref']));
     if ($data = $this->getRequest()->getPost()) {
         if (!$form->isValid($data)) {
             $form->populate($data);
         } else {
             $iatiIdentifier = array();
             $iatiIdentifier['iati_identifier'] = $data['iati_identifier_text'];
             $iatiIdentifier['activity_identifier'] = $data['activity_identifier'];
             $newActivityId = $activityModel->duplicateActivity($activities_id, $activityId, $activityData['Activity'], $iatiIdentifier);
         }
         if ($newActivityId) {
             $this->_helper->FlashMessenger->addMessage(array('message' => "Activity duplication successful. View duplicated \n                    <a href='{$this->view->baseUrl()}/activity/view-activity-info/?activity_id={$newActivityId}'>activity</a>."));
             $this->_redirect('/wep/view-activities');
         } else {
             $this->_helper->FlashMessenger->addMessage(array('error' => 'Activity duplication failed.'));
             $this->_redirect('/wep/view-activities');
         }
     }
     $this->view->form = $form;
     $this->view->activity_info = $activityData['Activity'];
 }
Esempio n. 4
0
 public function prepareDataForCompleteDownload($activitiesData)
 {
     $element = new Iati_Aidstream_Element_Activity();
     $element->setIsMultiple(false);
     $csvData = array();
     foreach ($activitiesData as $activityData) {
         $data = $this->prepareCsvDataForElement($element, $activityData['Activity']);
         $csvData[] = $data;
     }
     return $csvData;
 }