function AddContact($user_name, $first_name, $last_name, $email_address, $account_name, $salutation, $title, $phone_mobile, $reports_to, $primary_address_street, $primary_address_city, $primary_address_state, $primary_address_postalcode, $primary_address_country, $alt_address_city, $alt_address_street, $alt_address_state, $alt_address_postalcode, $alt_address_country, $office_phone = "", $home_phone = "", $fax = "", $department = "", $password, $description = "")
{
    if (authentication($user_name, $password)) {
        global $adb;
        global $current_user;
        require_once 'modules/Users/Users.php';
        require_once 'modules/Contacts/Contacts.php';
        $seed_user = new Users();
        $user_id = $seed_user->retrieve_user_id($user_name);
        $current_user = $seed_user;
        $current_user->retrieve_entity_info($user_id, "Users");
        checkFileAccessForInclusion('user_privileges/user_privileges_' . $current_user->id . '.php');
        require 'user_privileges/user_privileges_' . $current_user->id . '.php';
        checkFileAccessForInclusion('user_privileges/sharing_privileges_' . $current_user->id . '.php');
        require 'user_privileges/sharing_privileges_' . $current_user->id . '.php';
        if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) {
            $sql1 = "select fieldname,columnname from vtiger_field where tabid=4 and block <> 75 and block <> 6 and block <> 5 and vtiger_field.presence in (0,2)";
            $params1 = array();
        } else {
            $profileList = getCurrentUserProfileList();
            $sql1 = "select fieldname,columnname from vtiger_field inner join vtiger_profile2field on vtiger_profile2field.fieldid=vtiger_field.fieldid inner join vtiger_def_org_field on vtiger_def_org_field.fieldid=vtiger_field.fieldid where vtiger_field.tabid=4 and vtiger_field.block <> 75 and vtiger_field.block <> 6 and vtiger_field.block <> 5 and vtiger_field.displaytype in (1,2,4) and vtiger_profile2field.visible=0 and vtiger_def_org_field.visible=0 and vtiger_field.presence in (0,2)";
            $params1 = array();
            if (count($profileList) > 0) {
                $sql1 .= " and vtiger_profile2field.profileid in (" . generateQuestionMarks($profileList) . ")";
                array_push($params1, $profileList);
            }
        }
        $result1 = $adb->pquery($sql1, $params1);
        for ($i = 0; $i < $adb->num_rows($result1); $i++) {
            $permitted_lists[] = $adb->query_result($result1, $i, 'fieldname');
        }
        $contact = new Contacts();
        $contact->column_fields[firstname] = in_array('firstname', $permitted_lists) ? $first_name : "";
        $contact->column_fields[lastname] = in_array('lastname', $permitted_lists) ? $last_name : "";
        $contact->column_fields[email] = in_array('email', $permitted_lists) ? $email_address : "";
        $contact->column_fields[title] = in_array('title', $permitted_lists) ? $title : "";
        $contact->column_fields[department] = in_array('department', $permitted_lists) ? $department : "";
        $contact->column_fields[account_id] = in_array('account_id', $permitted_lists) ? retrieve_account_id($account_name, $user_id) : "";
        $contact->column_fields[phone] = in_array('phone', $permitted_lists) ? $office_phone : "";
        $contact->column_fields[homephone] = in_array('homephone', $permitted_lists) ? $home_phone : "";
        $contact->column_fields[fax] = in_array('fax', $permitted_lists) ? $fax : "";
        $contact->column_fields[mobile] = in_array('mobile', $permitted_lists) ? $phone_mobile : "";
        $contact->column_fields[mailingstreet] = in_array('mailingstreet', $permitted_lists) ? $primary_address_street : "";
        $contact->column_fields[mailingcity] = in_array('mailingcity', $permitted_lists) ? $primary_address_city : "";
        $contact->column_fields[mailingstate] = in_array('mailingstate', $permitted_lists) ? $primary_address_state : "";
        $contact->column_fields[mailingzip] = in_array('mailingzip', $permitted_lists) ? $primary_address_postalcode : "";
        $contact->column_fields[mailingcountry] = in_array('mailingcountry', $permitted_lists) ? $primary_address_country : "";
        $contact->column_fields[otherstreet] = in_array('otherstreet', $permitted_lists) ? $alt_address_street : "";
        $contact->column_fields[othercity] = in_array('othercity', $permitted_lists) ? $alt_address_city : "";
        $contact->column_fields[otherstate] = in_array('otherstate', $permitted_lists) ? $alt_address_state : "";
        $contact->column_fields[otherzip] = in_array('otherzip', $permitted_lists) ? $alt_address_postalcode : "";
        $contact->column_fields[othercountry] = in_array('othercountry', $permitted_lists) ? $alt_address_country : "";
        $contact->column_fields[assigned_user_id] = in_array('assigned_user_id', $permitted_lists) ? $user_id : "";
        $contact->column_fields[description] = "";
        $contact->save("Contacts");
        $contact = $contact;
        return $contact->id;
    }
}
示例#2
0
function UpdateContacts($username, $session, $cntdtls)
{
    if (!validateSession($username, $session)) {
        return null;
    }
    global $adb;
    global $current_user;
    require_once 'modules/Users/Users.php';
    require_once 'modules/Contacts/Contacts.php';
    $seed_user = new Users();
    $user_id = $seed_user->retrieve_user_id($username);
    $current_user = $seed_user;
    $current_user->retrieve_entity_info($user_id, "Users");
    $contact = new Contacts();
    require 'user_privileges/user_privileges_' . $current_user->id . '.php';
    require 'user_privileges/sharing_privileges_' . $current_user->id . '.php';
    if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) {
        $sql1 = "select fieldname,columnname from vtiger_field where tabid=4 and vtiger_field.presence in (0,2)";
        $params1 = array();
    } else {
        $profileList = getCurrentUserProfileList();
        $sql1 = "select fieldname,columnname from vtiger_field inner join vtiger_profile2field on vtiger_profile2field.fieldid=vtiger_field.fieldid inner join vtiger_def_org_field on vtiger_def_org_field.fieldid=vtiger_field.fieldid where vtiger_field.tabid=4 and vtiger_field.displaytype in (1,2,4,3) and vtiger_profile2field.visible=0 and vtiger_def_org_field.visible=0 and vtiger_field.presence in (0,2)";
        $params1 = array();
        if (count($profileList) > 0) {
            $sql1 .= " and vtiger_profile2field.profileid in (" . generateQuestionMarks($profileList) . ")";
            array_push($params1, $profileList);
        }
    }
    $result1 = $adb->pquery($sql1, $params1);
    for ($i = 0; $i < $adb->num_rows($result1); $i++) {
        $permitted_lists[] = $adb->query_result($result1, $i, 'fieldname');
    }
    foreach ($cntdtls as $cntrow) {
        if (isset($cntrow)) {
            $contact->retrieve_entity_info($cntrow["id"], "Contacts");
            $contact->column_fields[salutationtype] = in_array('salutationtype', $permitted_lists) ? $cntrow["title"] : "";
            $contact->column_fields[firstname] = in_array('firstname', $permitted_lists) ? $cntrow["firstname"] : "";
            if ($cntrow["middlename"] != "") {
                $contact->column_fields[lastname] = $cntrow["middlename"] . " " . $cntrow["lastname"];
            } elseif ($cntrow["lastname"] != "") {
                $contact->column_fields[lastname] = $cntrow["lastname"];
            } else {
                $contact->column_fields[lastname] = $cntrow["firstname"] . " " . $cntrow["middlename"] . " " . $cntrow["lastname"];
            }
            $contact->column_fields[birthday] = in_array('birthday', $permitted_lists) ? getDisplayDate($cntrow["birthdate"]) : "";
            $contact->column_fields[email] = in_array('email', $permitted_lists) ? $cntrow["emailaddress"] : "";
            $contact->column_fields[title] = in_array('title', $permitted_lists) ? $cntrow["jobtitle"] : "";
            $contact->column_fields[department] = in_array('department', $permitted_lists) ? $cntrow["department"] : "";
            $contact->column_fields[account_id] = in_array('account_id', $permitted_lists) ? retrieve_account_id($cntrow["accountname"], $user_id) : "";
            $contact->column_fields[phone] = in_array('phone', $permitted_lists) ? $cntrow["officephone"] : "";
            $contact->column_fields[homephone] = in_array('homephone', $permitted_lists) ? $cntrow["homephone"] : "";
            $contact->column_fields[otherphone] = in_array('otherphone', $permitted_lists) ? $cntrow["otherphone"] : "";
            $contact->column_fields[fax] = in_array('fax', $permitted_lists) ? $cntrow["fax"] : "";
            $contact->column_fields[mobile] = in_array('mobile', $permitted_lists) ? $cntrow["mobile"] : "";
            $contact->column_fields[assistant] = in_array('assistant', $permitted_lists) ? $cntrow["asstname"] : "";
            $contact->column_fields[assistantphone] = in_array('assistantphone', $permitted_lists) ? $cntrow["asstphone"] : "";
            //$contact->column_fields[reports_to_id] =retrievereportsto($reportsto,$user_id,$account_id);// NOT FIXED IN SAVEENTITY.PHP
            $contact->column_fields[mailingstreet] = in_array('mailingstreet', $permitted_lists) ? $cntrow["mailingstreet"] : "";
            $contact->column_fields[mailingcity] = in_array('mailingcity', $permitted_lists) ? $cntrow["mailingcity"] : "";
            $contact->column_fields[mailingstate] = in_array('mailingstate', $permitted_lists) ? $cntrow["mailingstate"] : "";
            $contact->column_fields[mailingzip] = in_array('mailingzip', $permitted_lists) ? $cntrow["mailingzip"] : "";
            $contact->column_fields[mailingcountry] = in_array('mailingcountry', $permitted_lists) ? $cntrow["mailingcountry"] : "";
            $contact->column_fields[otherstreet] = in_array('otherstreet', $permitted_lists) ? $cntrow["otherstreet"] : "";
            $contact->column_fields[othercity] = in_array('othercity', $permitted_lists) ? $cntrow["othercity"] : "";
            $contact->column_fields[otherstate] = in_array('otherstate', $permitted_lists) ? $cntrow["otherstate"] : "";
            $contact->column_fields[otherzip] = in_array('otherzip', $permitted_lists) ? $cntrow["otherzip"] : "";
            $contact->column_fields[othercountry] = in_array('othercountry', $permitted_lists) ? $cntrow["othercountry"] : "";
            $contact->column_fields[assigned_user_id] = in_array('assigned_user_id', $permitted_lists) ? $user_id : "";
            $contact->column_fields[description] = in_array('description', $permitted_lists) ? $cntrow["description"] : "";
            $contact->id = $cntrow["id"];
            $contact->mode = "edit";
            //saving date information in 'yyyy-mm-dd' format and displaying it in user's date format
            $user_old_date_format = $current_user->date_format;
            $current_user->date_format = 'yyyy-mm-dd';
            $contact->save("Contacts");
            $current_user->date_format = $user_old_date_format;
        }
    }
    $contact = $contact;
    return $contact->id;
}