public function createDefaults($data, $accountId) { $model = new Model_Wep(); //Save default values $fieldString = $this->prepareDefaultFieldValues($data); $defaultValues['object'] = $fieldString; $defaultValues['account_id'] = $accountId; $defaultValuesId = $model->insertRowsToTable('default_field_values', $defaultValues); //Insert Default Fields $defaultFieldGroup = new Iati_WEP_AccountDisplayFieldGroup(); $default = array('title', 'description', 'activity_status', 'activity_date', 'participating_org', 'recipient_country', 'sector', 'budget', 'transaction'); foreach ($default as $eachField) { $defaultFieldGroup->setProperties($eachField); } $fieldString = serialize($defaultFieldGroup); $defaultFields['object'] = $fieldString; $defaultFields['account_id'] = $accountId; $defaultFieldId = $model->insertRowsToTable('default_field_groups', $defaultFields); }
/** * Function to create a new account. * * This function creates a new account, admin user for the account, admin user's profile and sets default values for * the admin user. It also sends mail to the user and the admin. * @param array $userData array of account informatio. * @return int $accountId id of the account created. */ public function registerUser($userData) { $modelWep = new Model_Wep(); $data = array(); $data['email'] = $userData['email']; $data['first_name'] = $userData['first_name']; $data['last_name'] = $userData['last_name']; $data['account_identifier'] = $userData['account_identifier']; $data['user_name'] = $userData['user_name']; $data['password'] = $userData['password']; $data['org_name'] = trim($userData['org_name']); $data['org_address'] = $userData['org_address']; //Save Organisation Info $account['name'] = $data['org_name']; $account['address'] = $data['org_address']; $account['username'] = trim($data['account_identifier']); $account['uniqid'] = md5(date('Y-m-d H:i:s')); $accountId = $modelWep->insertRowsToTable('account', $account); //Save User Info $user['user_name'] = trim($data['user_name']); $user['password'] = md5($data['password']); $user['role_id'] = 1; $user['email'] = $data['email']; $user['account_id'] = $accountId; $user['status'] = 1; $user_id = $modelWep->insertRowsToTable('user', $user); //Save User Profile $admin['first_name'] = $data['first_name']; $admin['last_name'] = $data['last_name']; $admin['user_id'] = $user_id; $admin_id = $modelWep->insertRowsToTable('profile', $admin); //Create defaults $defaults = new Model_Defaults(); $defaults->createDefaults($data, $accountId); //Send notification $notification = new Model_Notification(); $notification->sendRegistrationNotifications($data); return $accountId; }
public function createOrganisation($orgId, $default) { $wepModelObj = new Model_Wep(); // Save Organization $organisationInfo['@xml_lang'] = $default['language']; $organisationInfo['@last_updated_datetime'] = date('Y-m-d H:i:s'); $organisationInfo['@default_currency'] = $default['currency']; $organisationInfo['account_id'] = $orgId; $organisationId = $wepModelObj->insertRowsToTable('iati_organisation', $organisationInfo); //Save reporting org $reporting_org = array(); $reporting_org['@ref'] = $default['reporting_org_ref']; $reporting_org['text'] = $default['reporting_org']; $reporting_org['@type'] = $default['reporting_org_type']; $reporting_org['@xml_lang'] = $default['reporting_org_lang']; $reporting_org['organisation_Id'] = $organisationId; $reporting_org_id = $wepModelObj->insertRowsToTable('iati_organisation/reporting_org', $reporting_org); //Save Identifier $identifier = array(); $identifier['text'] = trim($default['reporting_org_ref']); $identifier['organisation_Id'] = $organisationId; $identifier_id = $wepModelObj->insertRowsToTable('iati_organisation/identifier', $identifier); return (int) $organisationId; }
public function dashboardAction() { if (Simplified_Model_Simplified::isSimplified()) { $this->_redirect('simplified/default/dashboard'); } $identity = Zend_Auth::getInstance()->getIdentity(); $account_id = $identity->account_id; $model = new Model_Wep(); $activityModel = new Model_Activity(); $activities_id = $model->listAll('iati_activities', 'account_id', $account_id); if (empty($activities_id)) { $data['@version'] = '01'; $data['@generated_datetime'] = date('Y-m-d H:i:s'); $data['user_id'] = $identity->user_id; $data['account_id'] = $identity->account_id; $data['unqid'] = uniqid(); $activities_id = $model->insertRowsToTable('iati_activities', $data); } else { $activities_id = $activities_id[0]['id']; } $activityCollModel = new Model_ActivityCollection(); $activities = $activityCollModel->getActivitiesByAccount($account_id); $activitiesAttribs = $activityCollModel->getActivityAttribs($activities); $regInfoModel = new Model_RegistryInfo(); $regInfo = $regInfoModel->getOrgRegistryInfo($account_id); $regPublishModel = new Model_RegistryPublishedData(); $publishedFiles = $regPublishModel->getPublishedInfoByOrg($account_id); $this->view->published_data = $published_data; $this->view->activity_count = sizeof($activities); $this->view->state_count = $activityModel->getCountByState($activities); $this->view->last_updated_datetime = $activityModel->getLastUpdatedDatetime($activities); $this->view->published_activity_count = $regPublishModel->getActivityCount($publishedFiles); $this->view->activity_elements_info = $activitiesAttribs; $this->view->registry_url = "/publisher/" . $regInfo->publisher_id; $this->view->activities_id = $activities_id; }
/** * Function to duplicate an activity * * An activity is duplicated with the provided iati identifier and activity data of the activity to be duplicated. * @param int $orgId organisation id (activities id) of the organisation creating the activity * @param int $oldActivityId id of the activity to be duplicated * @param array $activityData complete fetch data (activity data) of old activity * @param array $iatiIdentifier array of iati identifier text and activity identifier * @return int $activityId Activity id of the activity created after duplication */ public function duplicateActivity($orgId, $oldActivityId, $activityData, $iatiIdentifier) { $wepModel = new Model_Wep(); $activityInfo['@xml_lang'] = $activityData['@xml_lang']; $activityInfo['@default_currency'] = $activityData['@default_currency']; $activityInfo['@hierarchy'] = $activityData['@hierarchy']; $activityInfo['@linked_data_uri'] = $activityData['linked_data_default']; $activityInfo['@last_updated_datetime'] = date('Y-m-d H:i:s'); $activityInfo['activities_id'] = $orgId; $activityId = $wepModel->insertRowsToTable('iati_activity', $activityInfo); $iati_identifier['text'] = trim($iatiIdentifier['iati_identifier']); $iati_identifier['activity_identifier'] = trim($iatiIdentifier['activity_identifier']); $iati_identifier['activity_id'] = $activityId; $wepModel->insertRowsToTable('iati_identifier', $iati_identifier); $element = new Iati_Aidstream_Element_Activity(); $childElements = $element->getChildElements(); foreach ($childElements as $child) { // Don't duplicate IatiIdentifer or Transaction if ($child == 'IatiIdentifier' || $child == 'Transaction') { continue; } $child = 'Iati_Aidstream_Element_Activity_' . $child; $childElement = new $child(); $childElement->setDuplicate(true); $result = $childElement->fetchData($oldActivityId, true); if (count($result)) { $elementsData[$childElement->getClassName()] = $result; $id = $childElement->save($elementsData[$childElement->getClassName()], $activityId, true); } unset($elementsData); } return (int) $activityId; }
public function createOrganisationGroupAction() { $form = new Form_Admin_CreateOrganisationGroup(); $this->view->form = $form; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if (!$form->isValid($data)) { $form->populate($data); } else { $model = new Model_Wep(); $userGroupModel = new User_Model_DbTable_UserGroup(); $groupModel = new User_Model_DbTable_Group(); $user['user_name'] = $data['group_identifier'] . '_group'; $user['password'] = md5($data['password']); $user['role_id'] = 4; $user['email'] = $data['email']; $user['account_id'] = 0; $user['status'] = 1; $user_id = $model->insertRowsToTable('user', $user); $information['first_name'] = $data['first_name']; $information['middle_name'] = $data['middle_name']; $information['last_name'] = $data['last_name']; $information['user_id'] = $user_id; $profile_id = $model->insertRowsToTable('profile', $information); $group['name'] = $data['group_name']; $group['username'] = $data['group_identifier']; $group['user_id'] = $user_id; $group_id = $userGroupModel->insertUserGroup($group); $accountIds = $data['group_organisations']; foreach ($accountIds as $account_id) { $groupModel->insertGroupWithAccountId($account_id, $group_id); } $this->_helper->FlashMessenger->addMessage(array('message' => "Organisation Group successfully created.")); $this->_redirect('/admin/group-organisations'); } } }