function details() { $data = filter_forwarded_data($this); $data['faq'] = $this->_faq->details($data['d']); if (empty($data['faq'])) { $data['msg'] = "ERROR: FAQ details can not be resolved."; } $this->load->view('faqs/faq_details', $data); }
function group_permissions() { $data = filter_forwarded_data($this); if (!empty($data['d'])) { $data['list'] = $this->_permission->group_permissions($data['d']); } if (empty($data['list'])) { $data['msg'] = 'ERROR: No permissions could be resolved for this group.'; } $this->load->view('permissions/group_permissions', $data); }
function fetch_and_run_sys_jobs() { $data = filter_forwarded_data($this); $result = $this->_cron->run_available_jobs(); #Log the results from the run if (!empty($data['jobid'])) { $jobDetails['user_id'] = 'system'; $jobDetails['job_type'] = 'system_crons'; $jobDetails['job_code'] = 'fetch_and_run_sys_jobs'; $jobDetails['result'] = $result['bool'] ? 'success' : 'fail'; $jobDetails['job_details'] = "total_crons=" . $result['total'] . "|run_time=" . $result['runtime']; $this->_cron->update_status($data['jobid'], $jobDetails); } }
function backup_cron_log() { $data = filter_forwarded_data($this); $result = $this->_file_cron->backup_cron_log(); # log the results from the run if a job ID is provided if (!empty($data['jobid'])) { $jobDetails['user_id'] = 'system'; $jobDetails['job_type'] = 'file_crons'; $jobDetails['job_code'] = 'backup_cron_log'; $jobDetails['result'] = $result['bool'] ? 'success' : 'fail'; $jobDetails['job_details'] = "archive=" . $result['archive']; $this->_cron->update_status($data['jobid'], $jobDetails); } }
function settings() { $data = filter_forwarded_data($this); logout_invalid_user($this); # user has posted the organization settings if (!empty($_POST)) { # Upload the logo if any exists before you proceed with the rest of the process $_POST['logo_url'] = !empty($_FILES) ? upload_file($_FILES, 'newlogo__fileurl', 'logo_' . $this->native_session->get('__organization_id') . '_', 'png,jpg,jpeg,tiff') : ''; $result = $this->_organization->settings($_POST); if ($result['boolean']) { $this->native_session->set('msg', 'Your organization settings have been updated'); } else { echo "ERROR: The settings could not be updated. " . $result['reason']; } } else { $data['organization'] = $this->_organization->details(); $this->load->view('organizations/settings', $data); } }
function update_status() { $data = filter_forwarded_data($this); if (!empty($data['t']) && !empty($data['list'])) { $response = $this->_contract->update_status($data['t'], explode('--', $data['list'])); } # all good if (!empty($response) && $response['boolean']) { $data['msg'] = 'The contract status has been updated.'; $data['area'] = 'refresh_list_msg'; } else { $data['msg'] = !empty($data['t']) && !empty($data['list']) ? 'ERROR: There was an error updating the contract status.' : 'ERROR: This action can not be resolved'; $data['area'] = 'basic_msg'; } $this->load->view('addons/basic_addons', $data); }
function home_filter() { $data = filter_forwarded_data($this); $data['area'] = !empty($data['t']) ? $data['t'] : 'documents'; if (in_array($data['area'], array('standards', 'documents'))) { $data['listtype'] = $data['area'] == 'standards' ? 'standard' : 'system'; } $this->load->view($this->get_section_folder($data['area']) . '/list_filter', $data); }
function view_details() { $data = filter_forwarded_data($this); $data['plan'] = $this->_procurement_plan->all_details($data['d'], 'list'); $this->load->view('procurement_plans/plan_details', array('list' => !empty($data['plan']['list']) ? $data['plan']['list'] : array())); }
function add() { $data = filter_forwarded_data($this); if (!($this->native_session->get('__user_type') == 'admin' || $this->native_session->get('__user_type') == 'pde' && $this->native_session->get('__is_owner') == 'Y')) { redirect(base_url() . 'accounts/logout'); } # new user is being added if (!empty($_POST)) { $response = $this->_user->add($_POST); # there was an error if (!(!empty($response) && $response['boolean'])) { echo !empty($response['reason']) ? $response['reason'] : 'ERROR: There was an error saving the user details.'; } else { $this->native_session->set('msg', 'The user details have been saved.'); } } else { if (!empty($data['d'])) { $data['user'] = $this->_user->details($data['d']); } $this->load->view('users/new_user', $data); } }
function load() { $data = filter_forwarded_data($this); if (!empty($data['t'])) { $limit = !empty($data['n']) ? $data['n'] : NUM_OF_ROWS_PER_PAGE; $offset = !empty($data['p']) ? ($data['p'] - 1) * $limit : 0; # Dynamic loading of system's lists based on the list type and passed parameters switch ($data['t']) { case 'audittrail': $this->load->model('_account'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__date', !empty($data['date']) ? $data['date'] : ''); $this->native_session->set($data['t'] . '__user_id', !empty($data['user_id']) ? $data['user_id'] : ''); $this->native_session->set($data['t'] . '__activity_code', !empty($data['activity_code']) ? $data['activity_code'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $this->native_session->set($data['t'] . '__name', !empty($data['name']) ? $data['name'] : ''); $data['list'] = $this->_account->audit_trail(array('date' => $this->native_session->get($data['t'] . '__date'), 'user_id' => $this->native_session->get($data['t'] . '__user_id'), 'activity_code' => $this->native_session->get($data['t'] . '__activity_code'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('accounts/audit_list', $data); break; case 'provider': $this->load->model('_provider'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__category', !empty($data['category']) ? $data['category'] : ''); $this->native_session->set($data['t'] . '__ministry', !empty($data['ministry']) ? $data['ministry'] : ''); $this->native_session->set($data['t'] . '__registration_country', !empty($data['registration_country']) ? $data['registration_country'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_provider->lists(array('category' => $this->native_session->get($data['t'] . '__category'), 'ministry' => $this->native_session->get($data['t'] . '__ministry'), 'registration_country' => $this->native_session->get($data['t'] . '__registration_country'), 'status' => $this->native_session->get($data['t'] . '__status'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); # [area] indicates that there are specific areas to load to (a property only used on public pages) $this->load->view('providers/' . (!empty($data['area']) ? 'details_list' : 'provider_list'), $data); break; case 'procurement_plan': $this->load->model('_procurement_plan'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_procurement_plan->lists(array('pde_id' => $this->native_session->get($data['t'] . '__pde_id'), 'status' => $this->native_session->get($data['t'] . '__status'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('procurement_plans/' . (!empty($data['area']) ? 'details_list' : 'procurement_plan_list'), $data); break; case 'tender': $this->load->model('_tender'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__procurement_type', !empty($data['procurement_type']) ? $data['procurement_type'] : ''); $this->native_session->set($data['t'] . '__procurement_method', !empty($data['procurement_method']) ? $data['procurement_method'] : ''); $this->native_session->set($data['t'] . '__pde', !empty($data['pde']) ? $data['pde'] : ''); $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__by_deadline', !empty($data['by_deadline']) ? $data['by_deadline'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $isProvider = $this->native_session->get('__user_type') == 'provider'; $data['list'] = $this->_tender->lists(array('procurement_type' => $this->native_session->get($data['t'] . '__procurement_type'), 'procurement_method' => $this->native_session->get($data['t'] . '__procurement_method'), 'pde' => $this->native_session->get($data['t'] . '__pde_id'), 'status' => $this->native_session->get($data['t'] . '__status'), 'by_deadline' => $this->native_session->get($data['t'] . '__by_deadline'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'display_type' => $isProvider || !empty($data['area']) ? 'public' : '', 'offset' => $offset, 'limit' => $limit)); $this->load->view('tenders/' . (!empty($data['area']) ? 'details_list' : ($isProvider ? 'manage_list' : 'tender_list')), $data); break; case 'bid': $this->load->model('_bid'); $data = restore_bad_chars_in_array($data); $data['listtype'] = !empty($data['listtype']) ? $data['listtype'] : (!empty($data['a']) ? $data['a'] : 'all'); # Store in session for the filter to use $this->native_session->set($data['t'] . '__pde', !empty($data['pde']) ? $data['pde'] : ''); $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__provider', !empty($data['provider']) ? $data['provider'] : ''); $this->native_session->set($data['t'] . '__provider_id', !empty($data['provider_id']) ? $data['provider_id'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_bid->lists(!empty($data['area']) ? 'awards' : $data['listtype'], array('pde' => $this->native_session->get($data['t'] . '__pde_id'), 'provider' => $this->native_session->get($data['t'] . '__provider_id'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); $data['type'] = $data['listtype']; $this->load->view('bids/' . (!empty($data['area']) ? 'details_list' : 'bid_list'), $data); break; case 'mybid': $this->load->model('_bid'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__pde', !empty($data['pde']) ? $data['pde'] : ''); $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_bid->my_list(array('pde' => $this->native_session->get($data['t'] . '__pde_id'), 'status' => $this->native_session->get($data['t'] . '__status'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('bids/my_bid_list', $data); break; case 'contract': $this->load->model('_contract'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__pde', !empty($data['pde']) ? $data['pde'] : ''); $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__tender', !empty($data['tender']) ? $data['tender'] : ''); $this->native_session->set($data['t'] . '__tender_id', !empty($data['tender_id']) ? $data['tender_id'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $data['list'] = $this->_contract->lists(array('pde' => $this->native_session->get($data['t'] . '__pde_id'), 'tender' => $this->native_session->get($data['t'] . '__tender_id'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'status' => !empty($data['area']) ? array('active', 'complete', 'endorsed', 'commenced') : $this->native_session->get($data['t'] . '__status'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('contracts/' . (!empty($data['area']) ? 'details_list' : 'contract_list'), $data); break; case 'document': $this->load->model('_document'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__pde', !empty($data['pde']) ? $data['pde'] : ''); $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__category', !empty($data['category']) ? $data['category'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_document->lists($data['listtype'], array('pde' => $this->native_session->get($data['t'] . '__pde_id'), 'category' => $this->native_session->get($data['t'] . '__category'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'status' => $this->native_session->get($data['t'] . '__status'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('documents/' . (!empty($data['area']) ? 'details_list' : 'document_list'), $data); break; case 'link': $this->load->model('_link'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__pde', !empty($data['pde']) ? $data['pde'] : ''); $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__opentype', !empty($data['opentype']) ? $data['opentype'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_link->lists(array('pde' => $this->native_session->get($data['t'] . '__pde_id'), 'opentype' => $this->native_session->get($data['t'] . '__opentype'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'status' => $this->native_session->get($data['t'] . '__status'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('links/' . (!empty($data['area']) ? 'details_list' : 'link_list'), $data); break; case 'training': $this->load->model('_training'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__pde', !empty($data['pde']) ? $data['pde'] : ''); $this->native_session->set($data['t'] . '__pde_id', !empty($data['pde_id']) ? $data['pde_id'] : ''); $this->native_session->set($data['t'] . '__category', !empty($data['category']) ? $data['category'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_training->lists(array('pde' => $this->native_session->get($data['t'] . '__pde_id'), 'category' => $this->native_session->get($data['t'] . '__category'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'status' => $this->native_session->get($data['t'] . '__status'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('training/' . (!empty($data['area']) ? 'details_list' : 'training_list'), $data); break; case 'permission': $this->load->model('_permission'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__type', !empty($data['type']) ? $data['type'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_permission->lists(array('type' => $this->native_session->get($data['t'] . '__type'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('permissions/permission_list', $data); break; case 'faq': $this->load->model('_faq'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_faq->lists(array('phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('faqs/' . (!empty($data['area']) ? 'details_list' : 'faq_list'), $data); break; case 'forum': $this->load->model('_forum'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__is_public', !empty($data['is_public']) ? $data['is_public'] : ''); $this->native_session->set($data['t'] . '__category', !empty($data['category']) ? $data['category'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $data['list'] = $this->_forum->lists(array('is_public' => $this->native_session->get($data['t'] . '__is_public'), 'category' => $this->native_session->get($data['t'] . '__category'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'status' => $this->native_session->get($data['t'] . '__status'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('forums/' . (!empty($data['area']) ? 'details_list' : 'forum_list'), $data); break; case 'user': $this->load->model('_user'); $data = restore_bad_chars_in_array($data); # Store in session for the filter to use $this->native_session->set($data['t'] . '__group', !empty($data['group']) ? $data['group'] : ''); $this->native_session->set($data['t'] . '__status', !empty($data['status']) ? $data['status'] : ''); $this->native_session->set($data['t'] . '__phrase', !empty($data['phrase']) ? $data['phrase'] : ''); $type = $this->native_session->get('__user_type') == 'admin' ? 'all' : 'organization'; $data['list'] = $this->_user->lists($type, array('group' => $this->native_session->get($data['t'] . '__group'), 'status' => $this->native_session->get($data['t'] . '__status'), 'phrase' => $this->native_session->get($data['t'] . '__phrase'), 'offset' => $offset, 'limit' => $limit)); $this->load->view('users/user_list', $data); break; default: break; } } }
function generate_certificate() { $data = filter_forwarded_data($this); logout_invalid_user($this); if (!empty($_POST)) { $this->native_session->set('providerid', $_POST['providerid']); $this->native_session->set('amount_paid', $_POST['amount_paid']); $this->native_session->set('valid_until', $_POST['valid_until']); } else { if (!empty($data['a'])) { $response = $this->_provider->generate_certificate(array('providerid' => $this->native_session->get('providerid'), 'amount_paid' => $this->native_session->get('amount_paid'), 'valid_until' => $this->native_session->get('valid_until'))); $data['msg'] = !empty($response) && $response['boolean'] ? 'The certificate has been generated.' : 'ERROR: The certificate could not be generated.'; $data['area'] = 'refresh_list_msg'; $this->load->view('addons/basic_addons', $data); } else { $this->load->view('providers/certificate_specs', $data); } } }
function system_search() { $data = filter_forwarded_data($this); # force to public if user is not logged in if (!(!empty($data['t']) && $data['t'] == 'secure' && $this->native_session->get('__user_id'))) { $data['t'] = 'public'; } # default area to empty string (e.g. for public search) if (empty($data['area'])) { $data['area'] = ''; } $this->load->view('pages/system_search', $data); }
function view_provider() { $data = filter_forwarded_data($this); if (!empty($data['d'])) { $data['organization'] = $this->_account->details($data['d'], 'provider'); } if (empty($data['organization'])) { $data['msg'] = 'ERROR: The provider details could not be resolved.'; } $data['type'] = 'provider'; $this->load->view('accounts/organization_details', $data); }
function list_filter() { $data = filter_forwarded_data($this); $this->load->view('links/list_filter', $data); }
function update_financial_report() { $data = filter_forwarded_data($this); $data['list'] = $this->_report->stats($data['t'], $data['y']); $this->load->view('reports/' . $data['t'] . '_stats', $data); }
function tender_providers() { $data = filter_forwarded_data($this); if (!empty($data['t'])) { $data['list'] = $this->_bid->tender_providers($data['t']); } if (empty($data['list'])) { $data['msg'] = (empty($data['t']) ? 'ERROR:' : 'WARNING:') . ' No providers could be found for the tender notice.'; } $this->load->view('bids/tender_providers', $data); }
function remove_comment() { $data = filter_forwarded_data($this); # extract the comment id and remove the comment $check = array_key_contains('comments_', $data); if ($check['bool']) { $response = $this->_forum->remove_comment($data[$check['key']]); } echo format_notice($this, !empty($response['boolean']) && $response['boolean'] ? 'The forum comment has been removed.' : 'ERROR: The comment can not be removed.'); }