\PseudoCRM
It is definitely not CRM and does not even look like it
Synopsis
class PseudoCRM
{
- // constants
- const RIGHT_VIEW = 'PSEUDOCRM';
- const RIGHT_LEADS = 'PSEUDOCRMLEADS';
- const RIGHT_ACTIVITIES = 'PSEUDOCRMACTS';
- const RIGHT_ACT_MANAGER = 'PSEUDOCRMACTMGR';
- const RIGHT_TASKS = 'TASKMAN';
- const TABLE_LEADS = 'crm_leads';
- const TABLE_ACTIVITIES = 'crm_activities';
- const TABLE_STATES_LOG = 'crm_stateslog';
- const OPT_ACT_CUSTSTATES = 'PSEUDOCRM_ACT_CUSTSTATES';
- const OPT_ACT_PROTECTED = 'PSEUDOCRM_ACT_PROTECTED';
- const URL_ME = '?module=pseudocrm';
- const ROUTE_LEADS_LIST = 'leadslist';
- const ROUTE_LEADS_LIST_AJ = 'ajaxleadslist';
- const ROUTE_LEAD_PROFILE = 'showlead';
- const ROUTE_ACTIVITY_PROFILE = 'showactivity';
- const ROUTE_ACTIVITY_CREATE = 'createnewactivity';
- const ROUTE_LEAD_DETECT = 'username';
- const ROUTE_ACTIVITY_DONE = 'setactivitydone';
- const ROUTE_ACTIVITY_UNDONE = 'setactivityundone';
- const ROUTE_REPORT_SOURCES = 'reportleadsources';
- const ROUTE_REPORT_STATESLOG = 'reportstates';
- const ROUTE_REPORT_STATESLOG_AJ = 'ajaxtstatesreport';
- const PROUTE_LEAD_CREATE = 'leadcreatenew';
- const PROUTE_LEAD_SAVE = 'leadeditexisting';
- const PROUTE_LEAD_ASSIGN = 'assignlogintolead';
- const PROUTE_LEAD_ASSIGN_ID = 'leadidtoassign';
- const PROUTE_LEAD_ADDR = 'leadaddress';
- const PROUTE_LEAD_NAME = 'leadname';
- const PROUTE_LEAD_PHONE = 'leadphone';
- const PROUTE_LEAD_MOBILE = 'leadmobile';
- const PROUTE_LEAD_EXTMOBILE = 'leadextmobile';
- const PROUTE_LEAD_EMAIL = 'leademail';
- const PROUTE_LEAD_BRANCH = 'leadbranchid';
- const PROUTE_LEAD_TARIFF = 'leadtariff';
- const PROUTE_LEAD_LOGIN = 'leadlogin';
- const PROUTE_LEAD_EMPLOYEE = 'leademployee';
- const PROUTE_LEAD_NOTES = 'leadnotes';
- const PROUTE_ACTIVITY_EDIT = 'editactivityid';
- const PROUTE_ACTIVITY_NOTE = 'newactivitynote';
- const PHOTO_ACT_SCOPE = 'CRMACTIVITY';
- const STIGMA_LEAD_SOURCE = 'CRMSOURCE';
- const STIGMA_ACT_TYPE = 'CRMACTTYPE';
- const STIGMA_ACT_RESULT = 'CRMACTRESULT';
- const STIGMA_ACT_TARGET = 'CRMACTTARGET';
- const ADCOMM_ACT_SCOPE = 'ADCRMACTIVITY';
- // members
- protected array $altCfg = ;
- protected $leadsDb = '';
- protected $activitiesDb = '';
- protected $messages = '';
- protected array $allLeads = ;
- protected array $allActivities = ;
- protected array $allEmployee = ;
- protected array $allEmployeeChatIds = ;
- protected array $allActiveEmployee = ;
- protected array $allEmployeeLogins = ;
- protected array $allBranches = ;
- protected bool $branchesFlag = false;
- protected array $activitiesStatesList = ;
- protected array $allTariffs = ;
- protected array $allUserData = ;
- protected bool $sendDogEnabled = false;
- protected bool $activityProtectedFlag = false;
- protected string $myLogin = '';
- // methods
- public void __construct()
- protected void initMessages()
- protected void loadAlter()
- protected void setMyLogin()
- protected void setActivitiesStatesList()
- protected void setActivitiesCustomStates()
- protected void loadTariffs()
- protected void loadBranches()
- protected void loadEmployeeData()
- protected void loadUserData()
- protected void initLeadsDb()
- protected void loadLeads()
- protected void initActivitiesDb()
- protected void loadActivities()
- public string renderLeadsList()
- public void ajLeadsList()
- protected string renderLeadCreateForm()
- public int createLead()
- public array getLeadData()
- public bool isLeadExists()
- public string getLeadLabel()
- public string renderLeadSource()
- public string renderLeadProfile()
- protected string renderLeadEditForm()
- public int saveLead()
- protected string renderActivityCreateForm()
- public int/zero createActivity()
- public bool isActivityExists()
- public array getActivityData()
- protected string renderActivityStatesController()
- protected bool checkActivityAccess()
- public void setActivityDone()
- public void setActivityUndone()
- protected string renderActivityResultEditForm()
- public void setActivityResult()
- public string renderActivityProfile()
- protected void catchADcommentNotification()
- public void notifyOpenActivities()
- protected array getLeadActivities()
- public string renderLeadActivitiesList()
- public string renderLeadTaskCreateForm()
- public int searchLeadByLogin()
- public string renderReportLeadSources()
- public string renderReportStatesLog()
- public void ajStatesLog()
- public string renderLeadAssignForm()
- public string renderUserLeadCreationForm()
- public void/string setLeadLogin()
- public string renderPanel()
Constants
Name | Value |
---|---|
RIGHT_VIEW | 'PSEUDOCRM' |
RIGHT_LEADS | 'PSEUDOCRMLEADS' |
RIGHT_ACTIVITIES | 'PSEUDOCRMACTS' |
RIGHT_ACT_MANAGER | 'PSEUDOCRMACTMGR' |
RIGHT_TASKS | 'TASKMAN' |
TABLE_LEADS | 'crm_leads' |
TABLE_ACTIVITIES | 'crm_activities' |
TABLE_STATES_LOG | 'crm_stateslog' |
OPT_ACT_CUSTSTATES | 'PSEUDOCRM_ACT_CUSTSTATES' |
OPT_ACT_PROTECTED | 'PSEUDOCRM_ACT_PROTECTED' |
URL_ME | '?module=pseudocrm' |
ROUTE_LEADS_LIST | 'leadslist' |
ROUTE_LEADS_LIST_AJ | 'ajaxleadslist' |
ROUTE_LEAD_PROFILE | 'showlead' |
ROUTE_ACTIVITY_PROFILE | 'showactivity' |
ROUTE_ACTIVITY_CREATE | 'createnewactivity' |
ROUTE_LEAD_DETECT | 'username' |
ROUTE_ACTIVITY_DONE | 'setactivitydone' |
ROUTE_ACTIVITY_UNDONE | 'setactivityundone' |
ROUTE_REPORT_SOURCES | 'reportleadsources' |
ROUTE_REPORT_STATESLOG | 'reportstates' |
ROUTE_REPORT_STATESLOG_AJ | 'ajaxtstatesreport' |
PROUTE_LEAD_CREATE | 'leadcreatenew' |
PROUTE_LEAD_SAVE | 'leadeditexisting' |
PROUTE_LEAD_ASSIGN | 'assignlogintolead' |
PROUTE_LEAD_ASSIGN_ID | 'leadidtoassign' |
PROUTE_LEAD_ADDR | 'leadaddress' |
PROUTE_LEAD_NAME | 'leadname' |
PROUTE_LEAD_PHONE | 'leadphone' |
PROUTE_LEAD_MOBILE | 'leadmobile' |
PROUTE_LEAD_EXTMOBILE | 'leadextmobile' |
PROUTE_LEAD_EMAIL | 'leademail' |
PROUTE_LEAD_BRANCH | 'leadbranchid' |
PROUTE_LEAD_TARIFF | 'leadtariff' |
PROUTE_LEAD_LOGIN | 'leadlogin' |
PROUTE_LEAD_EMPLOYEE | 'leademployee' |
PROUTE_LEAD_NOTES | 'leadnotes' |
PROUTE_ACTIVITY_EDIT | 'editactivityid' |
PROUTE_ACTIVITY_NOTE | 'newactivitynote' |
PHOTO_ACT_SCOPE | 'CRMACTIVITY' |
STIGMA_LEAD_SOURCE | 'CRMSOURCE' |
STIGMA_ACT_TYPE | 'CRMACTTYPE' |
STIGMA_ACT_RESULT | 'CRMACTRESULT' |
STIGMA_ACT_TARGET | 'CRMACTTARGET' |
ADCOMM_ACT_SCOPE | 'ADCRMACTIVITY' |
Members
protected
- $activitiesDb
—
Activities database abstraction layer - $activitiesStatesList
—
array
Contains available states stigma scopes for activities as SCOPE=>__(name) - $activityProtectedFlag
—
bool
Activities protection mechanics flag - $allActiveEmployee
—
array
Contains all active employee data as id=>name - $allActivities
—
array
Contains all activities data as id=>activityData - $allBranches
—
array
Contains branches data as id=>name - $allEmployee
—
array
Contains all employee data as id=>name - $allEmployeeChatIds
—
array
Contains all employee Telegram chatId as id=>chatid - $allEmployeeLogins
—
array
Contains all employee administator logins as login=>employeeId - $allLeads
—
array
Contains all leads data as id=>leadData - $allTariffs
—
array
Contains all available tariff names as tariffName=>__(tariffName) - $allUserData
—
array
Contains all available users data as login=>userData - $altCfg
—
array
Contains system alter config as key=>value - $branchesFlag
—
bool
Is branches enabled flag? - $leadsDb
—
Leads database abstraction layer - $messages
—
Messages system helper placeholder - $myLogin
—
string
Contains current administrator login - $sendDogEnabled
—
bool
Is senddog enabled flag?
Methods
protected
- catchADcommentNotification() — Catches and sends notification to telegram, on new additional comment creation to lead assigned employee
- checkActivityAccess() — Checks have user activity access rights to manage it open/closed states or not.
- getLeadActivities() — Returns array of all lead previous activity records
- initActivitiesDb() — Inits activities database abstraction layer
- initLeadsDb() — Inits leads database abstraction layer
- initMessages() — Inits system messages helper
- loadActivities() — Loads existing leads into protected property
- loadAlter() — Loads alter.ini config into protected property
- loadBranches() — Preloads branches data, if its enabled
- loadEmployeeData() — Preloads all existing employee data
- loadLeads() — Loads existing leads into protected property
- loadTariffs() — Loads all existing tariffs from database
- loadUserData() — Loads all existing users data
- renderActivityCreateForm() — Renders new lead activity record creation dialog
- renderActivityResultEditForm() — Renders existing activity notes aka result editing form
- renderActivityStatesController() — Render existing activity states controllers
- renderLeadCreateForm() — Returns new lead creation form
- renderLeadEditForm() — Returns existing lead editing form
- setActivitiesCustomStates() — Sets or overrides custom activities states list depends on config option
- setActivitiesStatesList() — Sets available activities states list. May be configurable in future.
- setMyLogin() — Sets current administrator username property
public
- __construct() — Creates new PseudoCRM instance
- ajLeadsList() — Returns ajax data for existing leads list
- ajStatesLog() — Renders states log report ajax data
- createActivity() — Creates new activity database record for existing lead
- createLead() — Creates new lead in database
- getActivityData() — Returns existing activity record data
- getLeadData() — Returns existing lead data
- getLeadLabel() — Returns existing lead profile title
- isActivityExists() — Checks existence of activity by its ID
- isLeadExists() — Checks is lead exist or not by its ID
- notifyOpenActivities() — Sends Telegram notification about open activities to activity employee
- renderActivityProfile() — Renders existing activity record profile with state controllers
- renderLeadActivitiesList() — Renders previous lead activities list
- renderLeadAssignForm() — Renders lead assign form
- renderLeadProfile() — Renders existing lead profile
- renderLeadSource() — Renders existing lead source controls
- renderLeadTaskCreateForm() — Returns lead task creation form
- renderLeadsList() — Renders existing leads list
- renderPanel() — Renders primary module controls
- renderReportLeadSources() — Renders leads sources basic report
- renderReportStatesLog() — Renders states report
- renderUserLeadCreationForm() — Renders lead creation form
- saveLead() — Changes existing lead database record
- searchLeadByLogin() — Searches lead Id by assigned login, returns 0 if not found.
- setActivityDone() — Sets existing activity database record as processed
- setActivityResult() — Changes activity record notes aka result
- setActivityUndone() — Sets existing activity database record as not processed
- setLeadLogin() — Assigns some login to existing lead