Exemple #1
0
 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);
     }
 }
Exemple #4
0
 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);
     }
 }
Exemple #6
0
 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);
 }
Exemple #7
0
 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()));
 }
Exemple #9
0
 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);
     }
 }
Exemple #10
0
 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;
         }
     }
 }
Exemple #11
0
 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);
         }
     }
 }
Exemple #12
0
 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);
 }
Exemple #13
0
 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);
 }
Exemple #14
0
 function list_filter()
 {
     $data = filter_forwarded_data($this);
     $this->load->view('links/list_filter', $data);
 }
Exemple #15
0
 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);
 }
Exemple #16
0
 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);
 }
Exemple #17
0
 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.');
 }