Server IP : 192.185.129.71 / Your IP : 3.12.160.196 Web Server : Apache System : Linux bh-ht-3.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : svymadmin ( 4072) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home4/svymadmin/public_html/vivekaexcel.edu.in/bkp/application/helpers/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php defined('BASEPATH') or exit('No direct script access allowed'); /** * Get contract short_url * @since Version 2.7.3 * @param object $contract * @return string Url */ function get_contract_shortlink($contract) { $long_url = site_url("contract/{$contract->id}/{$contract->hash}"); if (!get_option('bitly_access_token')) { return $long_url; } // Check if contract has short link, if yes return short link if (!empty($contract->short_link)) { return $contract->short_link; } // Create short link and return the newly created short link $short_link = app_generate_short_link([ 'long_url' => $long_url, 'title' => 'Contract #' . $contract->id, ]); if ($short_link) { $CI = &get_instance(); $CI->db->where('id', $contract->id); $CI->db->update(db_prefix() . 'contracts', [ 'short_link' => $short_link, ]); return $short_link; } return $long_url; } /** * Check the contract view restrictions * * @param int $id * @param string $hash * * @return void */ function check_contract_restrictions($id, $hash) { $CI = &get_instance(); $CI->load->model('contracts_model'); if (!$hash || !$id) { show_404(); } if (!is_client_logged_in() && !is_staff_logged_in()) { if (get_option('view_contract_only_logged_in') == 1) { redirect_after_login_to_current_url(); redirect(site_url('authentication/login')); } } $contract = $CI->contracts_model->get($id); if (!$contract || ($contract->hash != $hash)) { show_404(); } // Do one more check if (!is_staff_logged_in()) { if (get_option('view_contract_only_logged_in') == 1) { if ($contract->client != get_client_user_id()) { show_404(); } } } } /** * Function that will search possible contracts templates in applicaion/views/admin/contracts/templates * Will return any found files and user will be able to add new template * * @return array */ function get_contract_templates() { $contract_templates = []; if (is_dir(VIEWPATH . 'admin/contracts/templates')) { foreach (list_files(VIEWPATH . 'admin/contracts/templates') as $template) { $contract_templates[] = $template; } } return $contract_templates; } /** * Send contract signed notification to staff members * * @param int $contract_id * * @return void */ function send_contract_signed_notification_to_staff($contract_id) { $CI = &get_instance(); $CI->db->where('id', $contract_id); $contract = $CI->db->get(db_prefix() . 'contracts')->row(); if (!$contract) { return false; } // Get creator $CI->db->select('staffid, email'); $CI->db->where('staffid', $contract->addedfrom); $staff_contract = $CI->db->get(db_prefix() . 'staff')->result_array(); $notifiedUsers = []; foreach ($staff_contract as $member) { $notified = add_notification([ 'description' => 'not_contract_signed', 'touserid' => $member['staffid'], 'fromcompany' => 1, 'fromuserid' => 0, 'link' => 'contracts/contract/' . $contract->id, 'additional_data' => serialize([ '<b>' . $contract->subject . '</b>', ]), ]); if ($notified) { array_push($notifiedUsers, $member['staffid']); } send_mail_template('contract_signed_to_staff', $contract, $member); } pusher_trigger_notification($notifiedUsers); } /** * Get the recently created contracts in the given days * * @param integer $days * @param integer|null $staffId * * @return integer */ function count_recently_created_contracts($days = 7, $staffId = null) { $diff1 = date('Y-m-d', strtotime('-' . $days . ' days')); $diff2 = date('Y-m-d', strtotime('+' . $days . ' days')); $staffId = is_null($staffId) ? get_staff_user_id() : $staffId; $where_own = []; if (!staff_can('view', 'contracts')) { $where_own = ['addedfrom' => $staffId]; } return total_rows(db_prefix() . 'contracts', 'dateadded BETWEEN "' . $diff1 . '" AND "' . $diff2 . '" AND trash=0' . (count($where_own) > 0 ? ' AND addedfrom=' . $staffId : '')); } /** * Get total number of active contracts * * @param integer|null $staffId * * @return integer */ function count_active_contracts($staffId = null) { $where_own = []; $staffId = is_null($staffId) ? get_staff_user_id() : $staffId; if (!has_permission('contracts', '', 'view')) { $where_own = ['addedfrom' => $staffId]; } return total_rows(db_prefix() . 'contracts', '(DATE(dateend) >"' . date('Y-m-d') . '" AND trash=0' . (count($where_own) > 0 ? ' AND addedfrom=' . $staffId : '') . ') OR (DATE(dateend) IS NULL AND trash=0' . (count($where_own) > 0 ? ' AND addedfrom=' . $staffId : '') . ')'); } /** * Get total number of expired contracts * * @param integer|null $staffId * * @return integer */ function count_expired_contracts($staffId = null) { $where_own = []; $staffId = is_null($staffId) ? get_staff_user_id() : $staffId; if (!has_permission('contracts', '', 'view')) { $where_own = ['addedfrom' => $staffId]; } return total_rows(db_prefix() . 'contracts', array_merge(['DATE(dateend) <' => date('Y-m-d'), 'trash' => 0], $where_own)); } /** * Get total number of trash contracts * * @param integer|null $staffId * * @return integer */ function count_trash_contracts($staffId = null) { $where_own = []; $staffId = is_null($staffId) ? get_staff_user_id() : $staffId; if (!has_permission('contracts', '', 'view')) { $where_own = ['addedfrom' => $staffId]; } return total_rows(db_prefix() . 'contracts', array_merge(['trash' => 1], $where_own)); }