403Webshell
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/libraries/merge_fields/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/app.houseland.info/application/libraries/merge_fields/Projects_merge_fields.php
<?php

defined('BASEPATH') or exit('No direct script access allowed');

class Projects_merge_fields extends App_merge_fields
{
    public function build()
    {
        return [
                [
                    'name'      => 'Project Name',
                    'key'       => '{project_name}',
                    'available' => [
                        'project',
                    ],
                ],
                [
                    'name'      => 'Project Description',
                    'key'       => '{project_description}',
                    'available' => [
                        'project',
                    ],
                ],
                [
                    'name'      => 'Project Start Date',
                    'key'       => '{project_start_date}',
                    'available' => [
                        'project',
                    ],
                ],
                [
                    'name'      => 'Project Deadline',
                    'key'       => '{project_deadline}',
                    'available' => [
                        'project',
                    ],
                ],
                [
                    'name'      => 'Project Link',
                    'key'       => '{project_link}',
                    'available' => [
                        'project',
                    ],
                ],
                    [
                    'name'      => 'File Creator',
                    'key'       => '{file_creator}',
                    'available' => [
                    ],
                    'templates' => [
                        'new-project-file-uploaded-to-customer',
                        'new-project-file-uploaded-to-staff',
                    ],
                ],
                [
                    'name'      => 'Comment Creator',
                    'key'       => '{comment_creator}',
                    'available' => [
                    ],
                    'templates' => [
                        'new-project-discussion-comment-to-customer',
                        'new-project-discussion-comment-to-staff',
                    ],
                ],
                [
                    'name'      => 'Discussion Link',
                    'key'       => '{discussion_link}',
                    'available' => [
                    ],
                    'templates' => [
                        'new-project-discussion-created-to-staff',
                        'new-project-discussion-created-to-customer',
                        'new-project-discussion-comment-to-customer',
                        'new-project-discussion-comment-to-staff',
                        'new-project-file-uploaded-to-staff',
                        'new-project-file-uploaded-to-customer',
                    ],
                ],
                [
                    'name'      => 'Discussion Subject',
                    'key'       => '{discussion_subject}',
                    'available' => [
                    ],
                     'templates' => [
                        'new-project-discussion-created-to-staff',
                        'new-project-discussion-created-to-customer',
                        'new-project-discussion-comment-to-customer',
                        'new-project-discussion-comment-to-staff',
                        'new-project-file-uploaded-to-staff',
                        'new-project-file-uploaded-to-customer',
                    ],
                ],
                [
                    'name'      => 'Discussion Description',
                    'key'       => '{discussion_description}',
                    'available' => [
                    ],
                     'templates' => [
                        'new-project-discussion-created-to-staff',
                        'new-project-discussion-created-to-customer',
                        'new-project-discussion-comment-to-customer',
                        'new-project-discussion-comment-to-staff',
                    ],
                ],
                [
                    'name'      => 'Discussion Creator',
                    'key'       => '{discussion_creator}',
                    'available' => [
                    ],
                    'templates' => [
                        'new-project-discussion-created-to-staff',
                        'new-project-discussion-created-to-customer',
                        'new-project-discussion-comment-to-customer',
                        'new-project-discussion-comment-to-staff',
                    ],
                ],
                [
                    'name'      => 'Discussion Comment',
                    'key'       => '{discussion_comment}',
                    'available' => [
                    ],
                    'templates' => [
                        'new-project-discussion-comment-to-customer',
                        'new-project-discussion-comment-to-staff',
                    ],
                ],
            ];
    }

    /**
     * Project merge fields
     * @param  mixed $project_id      project id
     * @param  array  $additional_data option to pass additional data for the templates eq is staff template or customer template
     * This field is also used for the project discussion files and regular discussions
     * @return array
     */
    public function format($project_id, $additional_data = [])
    {
        $fields = [];

        $fields['{project_name}']           = '';
        $fields['{project_deadline}']       = '';
        $fields['{project_start_date}']     = '';
        $fields['{project_description}']    = '';
        $fields['{project_link}']           = '';
        $fields['{discussion_link}']        = '';
        $fields['{discussion_creator}']     = '';
        $fields['{comment_creator}']        = '';
        $fields['{file_creator}']           = '';
        $fields['{discussion_subject}']     = '';
        $fields['{discussion_description}'] = '';
        $fields['{discussion_comment}']     = '';


        $this->ci->db->where('id', $project_id);
        $project = $this->ci->db->get(db_prefix().'projects')->row();

        $fields['{project_name}']        = e($project->name);
        $fields['{project_deadline}']    = e(_d($project->deadline));
        $fields['{project_start_date}']  = e(_d($project->start_date));
        $fields['{project_description}'] = e($project->description);

        $custom_fields = get_custom_fields('projects');
        foreach ($custom_fields as $field) {
            $fields['{' . $field['slug'] . '}'] = get_custom_field_value($project_id, $field['id'], 'projects');
        }

        if (is_client_logged_in()) {
            $cf = e(get_contact_full_name(get_contact_user_id()));
        } else {
            $cf = e(get_staff_full_name(get_staff_user_id()));
        }

        $fields['{file_creator}']       = $cf;
        $fields['{discussion_creator}'] = $cf;
        $fields['{comment_creator}']    = $cf;

        if (isset($additional_data['discussion_id'])) {
            $this->ci->db->where('id', $additional_data['discussion_id']);

            if (isset($additional_data['discussion_type']) && $additional_data['discussion_type'] == 'regular') {
                $table = db_prefix().'projectdiscussions';
            } else {
                // is file
                $table = db_prefix().'project_files';
            }

            $discussion = $this->ci->db->get($table)->row();

            $fields['{discussion_subject}']     = e($discussion->subject);
            $fields['{discussion_description}'] = e($discussion->description);

            if (isset($additional_data['discussion_comment_id'])) {
                $this->ci->db->where('id', $additional_data['discussion_comment_id']);
                $discussion_comment             = $this->ci->db->get(db_prefix().'projectdiscussioncomments')->row();
                $fields['{discussion_comment}'] = $discussion_comment->content;
            }
        }
        if (isset($additional_data['customer_template'])) {
            $fields['{project_link}'] = site_url('clients/project/' . $project_id);

            if (isset($additional_data['discussion_id']) && isset($additional_data['discussion_type']) && $additional_data['discussion_type'] == 'regular') {
                $fields['{discussion_link}'] = site_url('clients/project/' . $project_id . '?group=project_discussions&discussion_id=' . $additional_data['discussion_id']);
            } elseif (isset($additional_data['discussion_id']) && isset($additional_data['discussion_type']) && $additional_data['discussion_type'] == 'file') {
                // is file
                $fields['{discussion_link}'] = site_url('clients/project/' . $project_id . '?group=project_files&file_id=' . $additional_data['discussion_id']);
            }
        } else {
            $fields['{project_link}'] = admin_url('projects/view/' . $project_id);
            if (isset($additional_data['discussion_type']) && $additional_data['discussion_type'] == 'regular' && isset($additional_data['discussion_id'])) {
                $fields['{discussion_link}'] = admin_url('projects/view/' . $project_id . '?group=project_discussions&discussion_id=' . $additional_data['discussion_id']);
            } else {
                if (isset($additional_data['discussion_id'])) {
                    // is file
                    $fields['{discussion_link}'] = admin_url('projects/view/' . $project_id . '?group=project_files&file_id=' . $additional_data['discussion_id']);
                }
            }
        }

        $custom_fields = get_custom_fields('projects');
        foreach ($custom_fields as $field) {
            $fields['{' . $field['slug'] . '}'] = get_custom_field_value($project_id, $field['id'], 'projects');
        }

        return hooks()->apply_filters('project_merge_fields', $fields, [
        'id'              => $project_id,
        'project'         => $project,
        'additional_data' => $additional_data,
     ]);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit