| Server IP : 103.161.17.216 / Your IP : 216.73.216.1 Web Server : nginx/1.18.0 System : Linux tipsysaigoncharming 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/app.houseland.info/application/services/ |
Upload File : |
<?php
namespace app\services;
defined('BASEPATH') or exit('No direct script access allowed');
class LeadProfileBadges
{
protected $leadId;
protected $CI;
protected $staffId;
public function __construct($leadId)
{
$this->leadId = $leadId;
$this->staffId = get_staff_user_id();
$this->CI = &get_instance();
}
public function getCount($feature)
{
if (method_exists($this, $feature)) {
$count = $this->{$feature}();
}
$count = hooks()->apply_filters('lead_tab_badge_count', $count, [
'feature' => $feature,
'lead_id' => $this->leadId,
]);
return $count;
}
/**
* Get the total notes for the lead
*
* @return int
*/
public function notes()
{
$this->CI->db->where('rel_type', 'lead');
$this->CI->db->where('rel_id', $this->leadId);
return $this->CI->db->count_all_results('notes');
}
/**
* Get the total proposals for the lead staff has access to
*
* @return int
*/
public function proposals()
{
if (staff_cant('view', 'proposals')) {
$where = get_proposals_sql_where_staff($this->staffId);
$this->CI->db->where($where);
}
$this->CI->db->where_in('status', [1, 4, 6]);
$this->CI->db->where('rel_id', $this->leadId);
$this->CI->db->where('rel_type', 'lead');
return $this->CI->db->count_all_results('proposals');
}
/**
* Get the total attachments for the lead
*
* @return int
*/
public function attachments()
{
$this->CI->db->where('rel_id', $this->leadId);
$this->CI->db->where('rel_type', 'lead');
return $this->CI->db->count_all_results('files');
}
/**
* Get the total reminders for the lead for staff.
*
* @return int
*/
public function reminders()
{
$this->CI->db->where('rel_id', $this->leadId);
$this->CI->db->where('rel_type', 'lead');
$this->CI->db->where('staff', $this->staffId);
$this->CI->db->where('isnotified', 0);
return $this->CI->db->count_all_results('reminders');
}
public function tasks()
{
$this->CI->db->where('rel_id', $this->leadId);
$this->CI->db->where('rel_type', 'lead');
$this->CI->db->where('datefinished is NULL');
if (staff_cant('view', 'tasks')) {
$this->CI->db->where(get_tasks_where_string(false));
}
return $this->CI->db->count_all_results('tasks');
}
}