From e79b344aa7ca6ca98739bce993b59780b705d27f Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Tue, 16 Nov 2010 02:05:03 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=B0=205.2=20=E6=AD=A3?= =?UTF-8?q?=E5=BC=8F=E7=89=88=E5=90=8E=E7=AC=AC=E4=B8=80=E6=AC=A1=20SVN=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit yuchenghu@hawebs.net git-svn-id: https://svn.code.sf.net/p/hawebs/svn@587 a2543c7e-f6e9-4f8a-8bff-1ffc34733512 --- .../modules/Contacts/CallRelatedList.php | 110 + oss/vtiger/trunk/modules/Contacts/Contacts.js | 250 + .../trunk/modules/Contacts/Contacts.php | 1372 + .../trunk/modules/Contacts/ContactsAjax.php | 13 + .../trunk/modules/Contacts/CustomAction.php | 12 + .../trunk/modules/Contacts/CustomView.php | 14 + .../trunk/modules/Contacts/DelImage.php | 52 + oss/vtiger/trunk/modules/Contacts/Delete.php | 39 + .../trunk/modules/Contacts/DetailView.php | 190 + .../trunk/modules/Contacts/DetailViewAjax.php | 107 + .../trunk/modules/Contacts/EditView.php | 239 + .../trunk/modules/Contacts/ExportRecords.php | 13 + .../modules/Contacts/FindDuplicateRecords.php | 106 + oss/vtiger/trunk/modules/Contacts/Import.php | 45 + .../trunk/modules/Contacts/ListView.php | 312 + .../modules/Contacts/ListViewPagging.php | 11 + .../trunk/modules/Contacts/MassEdit.php | 45 + .../trunk/modules/Contacts/MassEditSave.php | 67 + oss/vtiger/trunk/modules/Contacts/Merge.php | 282 + oss/vtiger/trunk/modules/Contacts/Popup.php | 23 + .../modules/Contacts/ProcessDuplicates.php | 133 + .../trunk/modules/Contacts/QuickCreate.php | 12 + oss/vtiger/trunk/modules/Contacts/Save.php | 227 + .../trunk/modules/Contacts/Settings.php | 13 + .../trunk/modules/Contacts/TagCloud.php | 12 + .../trunk/modules/Contacts/UnifiedSearch.php | 11 + .../modules/Contacts/contactSeedData.php | 21190 ++++++++++++++++ .../Contacts/imgs/2tbarPrivateChat.gif | Bin 0 -> 718 bytes .../modules/Contacts/imgs/2tbarPublicChat.gif | Bin 0 -> 742 bytes .../trunk/modules/Contacts/imgs/box_BL.gif | Bin 0 -> 608 bytes .../trunk/modules/Contacts/imgs/box_BR.gif | Bin 0 -> 609 bytes .../trunk/modules/Contacts/imgs/box_M.gif | Bin 0 -> 43 bytes .../trunk/modules/Contacts/imgs/box_ML.gif | Bin 0 -> 55 bytes .../trunk/modules/Contacts/imgs/box_MR.gif | Bin 0 -> 63 bytes .../trunk/modules/Contacts/imgs/box_T.gif | Bin 0 -> 96 bytes .../trunk/modules/Contacts/imgs/box_TL.gif | Bin 0 -> 305 bytes .../trunk/modules/Contacts/imgs/box_TR.gif | Bin 0 -> 304 bytes .../trunk/modules/Contacts/imgs/btn_close.gif | Bin 0 -> 244 bytes .../trunk/modules/Contacts/imgs/btn_hide.gif | Bin 0 -> 236 bytes .../trunk/modules/Contacts/imgs/btn_send.gif | Bin 0 -> 305 bytes .../trunk/modules/Contacts/imgs/bx_B.gif | Bin 0 -> 165 bytes .../trunk/modules/Contacts/imgs/close.gif | Bin 0 -> 400 bytes .../trunk/modules/Contacts/imgs/hide.gif | Bin 0 -> 410 bytes .../modules/Contacts/imgs/icone_chat.gif | Bin 0 -> 288 bytes .../modules/Contacts/imgs/icone_keyb.gif | Bin 0 -> 252 bytes .../trunk/modules/Contacts/imgs/site_bg.gif | Bin 0 -> 1213 bytes .../trunk/modules/Contacts/imgs/user_icon.gif | Bin 0 -> 1111 bytes oss/vtiger/trunk/modules/Contacts/index.php | 27 + .../modules/Contacts/language/en_us.lang.php | 249 + .../modules/Contacts/language/zh_cn.lang.php | 249 + .../modules/Contacts/updateRelations.php | 55 + 51 files changed, 25480 insertions(+) create mode 100644 oss/vtiger/trunk/modules/Contacts/CallRelatedList.php create mode 100644 oss/vtiger/trunk/modules/Contacts/Contacts.js create mode 100644 oss/vtiger/trunk/modules/Contacts/Contacts.php create mode 100644 oss/vtiger/trunk/modules/Contacts/ContactsAjax.php create mode 100644 oss/vtiger/trunk/modules/Contacts/CustomAction.php create mode 100644 oss/vtiger/trunk/modules/Contacts/CustomView.php create mode 100644 oss/vtiger/trunk/modules/Contacts/DelImage.php create mode 100644 oss/vtiger/trunk/modules/Contacts/Delete.php create mode 100644 oss/vtiger/trunk/modules/Contacts/DetailView.php create mode 100644 oss/vtiger/trunk/modules/Contacts/DetailViewAjax.php create mode 100644 oss/vtiger/trunk/modules/Contacts/EditView.php create mode 100644 oss/vtiger/trunk/modules/Contacts/ExportRecords.php create mode 100644 oss/vtiger/trunk/modules/Contacts/FindDuplicateRecords.php create mode 100644 oss/vtiger/trunk/modules/Contacts/Import.php create mode 100644 oss/vtiger/trunk/modules/Contacts/ListView.php create mode 100644 oss/vtiger/trunk/modules/Contacts/ListViewPagging.php create mode 100644 oss/vtiger/trunk/modules/Contacts/MassEdit.php create mode 100644 oss/vtiger/trunk/modules/Contacts/MassEditSave.php create mode 100644 oss/vtiger/trunk/modules/Contacts/Merge.php create mode 100644 oss/vtiger/trunk/modules/Contacts/Popup.php create mode 100644 oss/vtiger/trunk/modules/Contacts/ProcessDuplicates.php create mode 100644 oss/vtiger/trunk/modules/Contacts/QuickCreate.php create mode 100644 oss/vtiger/trunk/modules/Contacts/Save.php create mode 100644 oss/vtiger/trunk/modules/Contacts/Settings.php create mode 100644 oss/vtiger/trunk/modules/Contacts/TagCloud.php create mode 100644 oss/vtiger/trunk/modules/Contacts/UnifiedSearch.php create mode 100644 oss/vtiger/trunk/modules/Contacts/contactSeedData.php create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/2tbarPrivateChat.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/2tbarPublicChat.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_BL.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_BR.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_M.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_ML.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_MR.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_T.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_TL.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/box_TR.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/btn_close.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/btn_hide.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/btn_send.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/bx_B.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/close.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/hide.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/icone_chat.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/icone_keyb.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/site_bg.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/imgs/user_icon.gif create mode 100644 oss/vtiger/trunk/modules/Contacts/index.php create mode 100644 oss/vtiger/trunk/modules/Contacts/language/en_us.lang.php create mode 100644 oss/vtiger/trunk/modules/Contacts/language/zh_cn.lang.php create mode 100644 oss/vtiger/trunk/modules/Contacts/updateRelations.php diff --git a/oss/vtiger/trunk/modules/Contacts/CallRelatedList.php b/oss/vtiger/trunk/modules/Contacts/CallRelatedList.php new file mode 100644 index 00000000..545c1d7a --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/CallRelatedList.php @@ -0,0 +1,110 @@ +retrieve_entity_info($RECORD,$currentmodule); + $focus->id = $RECORD; + $focus->name=$focus->column_fields['firstname'].' '.$focus->column_fields['lastname']; + $log->debug("id is ".$focus->id); + $log->debug("name is ".$focus->name); + } + + global $adb; + $sql = $adb->pquery('select accountid from vtiger_contactdetails where contactid=?', array($focus->id)); + $accountid = $adb->query_result($sql,0,'accountid'); + if($accountid == 0) $accountid=''; + + global $mod_strings; + global $app_strings; + global $theme; + global $currentModule; + global $current_user; + $theme_path="themes/".$theme."/"; + $image_path=$theme_path."images/"; + + $smarty = new vtigerCRM_Smarty; + $smarty->assign("accountid",$accountid); + + + if(isset($_request['isduplicate']) && $_request['isduplicate'] == 'true') { + $focus->id = ""; + } + if(isset($_REQUEST['mode']) && $_REQUEST['mode'] != ' ') { + $smarty->assign("OP_MODE",vtlib_purify($_REQUEST['mode'])); + } + $parent_email = getEmailParentsList('Contacts',$_REQUEST['record'], $focus); + $smarty->assign("HIDDEN_PARENTS_LIST",$parent_email); + + if(isset($_REQUEST['record']) && $_REQUEST['record']!='') { + $userid = $current_user->id; + $sql = "select fieldname from vtiger_field where uitype = '13' and tabid = 4 and vtiger_field.presence in (0,2)"; + $result = $adb->pquery($sql, array()); + $num_fieldnames = $adb->num_rows($result); + for($i = 0; $i < $num_fieldnames; $i++) { + $fieldname = $adb->query_result($result,$i,"fieldname"); + $permit= getFieldVisibilityPermission("Contacts",$userid,$fieldname); + } + } + $smarty->assign("TODO_PERMISSION",CheckFieldPermission('parent_id','Calendar')); + $smarty->assign("CONTACT_PERMISSION",CheckFieldPermission('contact_id','Calendar')); + $smarty->assign("EVENT_PERMISSION",CheckFieldPermission('parent_id','Events')); + $smarty->assign("CATEGORY",$category); + $smarty->assign("ID",$focus->id); + $smarty->assign("NAME",$focus->name); + $smarty->assign("EMAIL",$focus->column_fields['email']); + $smarty->assign("YAHOO",$focus->column_fields['yahooid']); + + // Module Sequence Numbering + $mod_seq_field = getModuleSequenceField($currentModule); + if ($mod_seq_field != null) { + $mod_seq_id = $focus->column_fields[$mod_seq_field['name']]; + } else { + $mod_seq_id = $focus->id; + } + $smarty->assign('MOD_SEQ_ID', $mod_seq_id); + // END + + $related_array = getRelatedLists($currentModule,$focus); + require_once('include/ListView/RelatedListViewSession.php'); + if(!empty($_REQUEST['selected_header']) && !empty($_REQUEST['relation_id'])) { + $relationId = vtlib_purify($_REQUEST['relation_id']); + RelatedListViewSession::addRelatedModuleToSession($relationId, + vtlib_purify($_REQUEST['selected_header'])); + } + $open_related_modules = RelatedListViewSession::getRelatedModulesFromSession(); + $smarty->assign("SELECTEDHEADERS", $open_related_modules); + + $smarty->assign("RELATEDLISTS", $related_array); + $smarty->assign("MODULE",$currentmodule); + $smarty->assign("SINGLE_MOD",$app_strings['Contact']); + $smarty->assign("UPDATEINFO",updateInfo($focus->id)); + $smarty->assign("MOD",$mod_strings); + $smarty->assign("APP",$app_strings); + $smarty->assign("THEME", $theme); + $smarty->assign("IMAGE_PATH", $image_path); + + $check_button = Button_Check($module); + $smarty->assign("CHECK", $check_button); + $smarty->display("RelatedLists.tpl"); +} +?> \ No newline at end of file diff --git a/oss/vtiger/trunk/modules/Contacts/Contacts.js b/oss/vtiger/trunk/modules/Contacts/Contacts.js new file mode 100644 index 00000000..de29b5d9 --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/Contacts.js @@ -0,0 +1,250 @@ +/********************************************************************************* + +** The contents of this file are subject to the vtiger CRM Public License Version 1.0 + * ("License"); You may not use this file except in compliance with the License + * The Original Code is: vtiger CRM Open Source + * The Initial Developer of the Original Code is vtiger. + * Portions created by vtiger are Copyright (C) vtiger. + * All Rights Reserved. + ********************************************************************************/ + +document.write(" +pquery($sql, array($templateid)); +$temparray = $adb->fetch_array($result); + +$fileContent = $temparray['data']; +$filename=html_entity_decode($temparray['filename'], ENT_QUOTES, $default_charset); +// Fix For: http://trac.vtiger.com/cgi-bin/trac.cgi/ticket/2107 +$filename= $randomfilename . "_word.doc"; + +$filesize=$temparray['filesize']; +$wordtemplatedownloadpath =$root_directory ."/test/wordtemplatedownload/"; + +$handle = fopen($wordtemplatedownloadpath .$filename,"wb"); +fwrite($handle,base64_decode($fileContent),$filesize); +fclose($handle); + + +//<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>> +$mass_merge = $_REQUEST['allselectedboxes']; +$single_record = $_REQUEST['record']; + +if($mass_merge != "") +{ + $mass_merge = explode(";",$mass_merge); + $temp_mass_merge = $mass_merge; + if(array_pop($temp_mass_merge)=="") + array_pop($mass_merge); + //$mass_merge = implode(",",$mass_merge); +}else if($single_record != "") +{ + $mass_merge = $single_record; +}else +{ + die("Record Id is not found, cannot merge the document"); +} + +//<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>> + +global $current_user; +require('user_privileges/user_privileges_'.$current_user->id.'.php'); +if($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0 || $module == "Users" || $module == "Emails") +{ + $query1="select vtiger_tab.name,vtiger_field.tablename,vtiger_field.columnname,vtiger_field.fieldlabel from vtiger_field inner join vtiger_tab on vtiger_tab.tabid = vtiger_field.tabid where vtiger_field.tabid in (4,6) and vtiger_field.block <> 75 order by vtiger_field.tablename and vtiger_field.presence in (0,2)"; + $params1 = array(); +} +else +{ + $profileList = getCurrentUserProfileList(); + $query1="select vtiger_tab.name,vtiger_field.tablename,vtiger_field.columnname,vtiger_field.fieldlabel from vtiger_field inner join vtiger_tab on vtiger_tab.tabid = vtiger_field.tabid 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 in (4,6) and vtiger_field.block <> 75 AND vtiger_profile2field.visible=0 AND vtiger_def_org_field.visible=0 AND vtiger_profile2field.profileid IN (". generateQuestionMarks($profileList) .") and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid order by vtiger_field.tablename"; + $params1 = array($profileList); + //Postgres 8 fixes + if( $adb->dbType == "pgsql") + $query1 = fixPostgresQuery( $query1, $log, 0); +} +$result = $adb->pquery($query1, $params1); +$y=$adb->num_rows($result); + +for ($x=0; $x<$y; $x++) +{ + $tablename = $adb->query_result($result,$x,"tablename"); + $columnname = $adb->query_result($result,$x,"columnname"); + $modulename = $adb->query_result($result,$x,"name"); + + if($tablename == "crmentity") + { + if($modulename == "Accounts") + { + $tablename = "crmentityAccounts"; + } + } + $querycolumns[$x] = $tablename.".".$columnname; + if($columnname == "smownerid") + { + if($modulename == "Accounts") + { + $querycolumns[$x]="case when (usersAccounts.user_name not like '') then concat(usersAccounts.last_name,' ',usersAccounts.first_name) else groupsAccounts.groupname end as username"; + } + if($modulename == "Contacts") + { + $querycolumns[$x]="case when (vtiger_users.user_name not like '') then concat(vtiger_users.last_name,' ',vtiger_users.first_name) else vtiger_groups.groupname end as usercname,vtiger_users.first_name,vtiger_users.last_name,vtiger_users.user_name,vtiger_users.yahoo_id,vtiger_users.title,vtiger_users.phone_work,vtiger_users.department,vtiger_users.phone_mobile,vtiger_users.phone_other,vtiger_users.phone_fax,vtiger_users.email1,vtiger_users.phone_home,vtiger_users.email2,vtiger_users.address_street,vtiger_users.address_city,vtiger_users.address_state,vtiger_users.address_postalcode,vtiger_users.address_country"; + } + } + if($columnname == "parentid") + { + $querycolumns[$x] = "accountAccounts.accountname"; + } + if($columnname == "accountid") + { + $querycolumns[$x] = "accountContacts.accountname"; + } + if($columnname == "reportsto") + { + $querycolumns[$x] = "contactdetailsContacts.lastname"; + } + + + if($modulename == "Accounts") + { + $field_label[$x] = "ACCOUNT_".strtoupper(str_replace(" ","",$adb->query_result($result,$x,"fieldlabel"))); + } + + if($modulename == "Contacts") + { + $field_label[$x] = "CONTACT_".strtoupper(str_replace(" ","",$adb->query_result($result,$x,"fieldlabel"))); + if($columnname == "smownerid") + { + $field_label[$x] = $field_label[$x].",USER_FIRSTNAME,USER_LASTNAME,USER_USERNAME,USER_YAHOOID,USER_TITLE,USER_OFFICEPHONE,USER_DEPARTMENT,USER_MOBILE,USER_OTHERPHONE,USER_FAX,USER_EMAIL,USER_HOMEPHONE,USER_OTHEREMAIL,USER_PRIMARYADDRESS,USER_CITY,USER_STATE,USER_POSTALCODE,USER_COUNTRY"; + } + } + + +} +$csvheader = implode(",",$field_label); +//echo $csvheader; +//<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>> + +if(count($querycolumns) > 0) +{ + $selectcolumns = implode($querycolumns,","); + + + $query = "select $selectcolumns from vtiger_contactdetails + inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_contactdetails.contactid + inner join vtiger_contactaddress on vtiger_contactdetails.contactid = vtiger_contactaddress.contactaddressid + inner join vtiger_contactsubdetails on vtiger_contactdetails.contactid = vtiger_contactsubdetails.contactsubscriptionid + inner join vtiger_contactscf on vtiger_contactdetails.contactid = vtiger_contactscf.contactid + inner join vtiger_customerdetails on vtiger_contactdetails.contactid = vtiger_customerdetails.customerid + left join vtiger_contactdetails as contactdetailsContacts on contactdetailsContacts.contactid = vtiger_contactdetails.reportsto + left join vtiger_account as accountContacts on accountContacts.accountid = vtiger_contactdetails.accountid + left join vtiger_users on vtiger_users.id = vtiger_crmentity.smownerid + LEFT JOIN vtiger_groups + ON vtiger_groups.groupid = vtiger_crmentity.smownerid + left join vtiger_account on vtiger_account.accountid = vtiger_contactdetails.accountid + left join vtiger_crmentity as crmentityAccounts on crmentityAccounts.crmid=vtiger_account.accountid + left join vtiger_accountbillads on vtiger_account.accountid=vtiger_accountbillads.accountaddressid + left join vtiger_accountshipads on vtiger_account.accountid=vtiger_accountshipads.accountaddressid + left join vtiger_accountscf on vtiger_account.accountid = vtiger_accountscf.accountid + left join vtiger_account as accountAccounts on accountAccounts.accountid = vtiger_account.parentid + left join vtiger_users as usersAccounts on usersAccounts.id = crmentityAccounts.smownerid + LEFT JOIN vtiger_groups as groupsAccounts + ON groupsAccounts.groupid = vtiger_crmentity.smownerid + where vtiger_crmentity.deleted=0 and (crmentityAccounts.deleted is NULL or crmentityAccounts.deleted <> 1) and vtiger_contactdetails.contactid in(". generateQuestionMarks($mass_merge) .")"; + + + $result = $adb->pquery($query, array($mass_merge)); + $avail_pick_arr = getAccessPickListValues('Contacts'); +while($columnValues = $adb->fetch_array($result)) +{ + $y=$adb->num_fields($result); + for($x=0; $x<$y; $x++) + { + $value = $columnValues[$x]; + foreach($columnValues as $key=>$val) + { + if($val == $value && $value != '') + { + if(array_key_exists($key,$avail_pick_arr)) + { + if(!in_array($val,$avail_pick_arr[$key])) + { + $value = "Not Accessible"; + } + } + } + } + //<<<<<<<<<<<<<<< For blank Fields >>>>>>>>>>>>>>>>>>>>>>>>>>>> + if(trim($value) == "--None--" || trim($value) == "--none--") + { + $value = ""; + } + //<<<<<<<<<<<<<<< End >>>>>>>>>>>>>>>>>>>>>>>>>>>> + $actual_values[$x] = $value; + $actual_values[$x] = str_replace('"'," ",$actual_values[$x]); + //if value contains any line feed or carriage return replace the value with ".value." + if (preg_match ("/(\r?\n)/", $actual_values[$x])) + { + $actual_values[$x] = '"'.$actual_values[$x].'"'; + } + $actual_values[$x] = decode_html(str_replace(","," ",$actual_values[$x])); + } + $mergevalue[] = implode($actual_values,","); +} +$csvdata = implode($mergevalue,"###"); +}else +{ + die("No fields to do Merge"); +} +// Fix for: http://trac.vtiger.com/cgi-bin/trac.cgi/ticket/2107 +$datafilename = $randomfilename . "_data.csv"; + +$handle = fopen($wordtemplatedownloadpath.$datafilename,"wb"); +fwrite($handle,$csvheader."\r\n"); +fwrite($handle,str_replace("###","\r\n",$csvdata)); +fclose($handle); + +?> + + + diff --git a/oss/vtiger/trunk/modules/Contacts/Popup.php b/oss/vtiger/trunk/modules/Contacts/Popup.php new file mode 100644 index 00000000..98ea8ece --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/Popup.php @@ -0,0 +1,23 @@ + diff --git a/oss/vtiger/trunk/modules/Contacts/ProcessDuplicates.php b/oss/vtiger/trunk/modules/Contacts/ProcessDuplicates.php new file mode 100644 index 00000000..877dbd84 --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/ProcessDuplicates.php @@ -0,0 +1,133 @@ +pquery("SELECT count(*) AS count FROM vtiger_crmentity WHERE crmid=? and deleted=0", array($merge_id)); + $count = $adb->query_result($result,0,'count'); + + if($count > 0) + { + // First, save the primary record + $focus->mode="edit"; + setObjectValuesFromRequest($focus); + $focus->save($module); + $rec_values=$focus->column_fields; + + // Remove the id of primary record from the list of records to be deleted. + $del_value=explode(",",$recordids,-1); + $offset = array_search($merge_id,$del_value); + unset($del_value[$offset]); + + // Transfer the related lists of the records to be deleted, to the primary record's related list + if(method_exists($focus, 'transferRelatedRecords')){ + $focus->transferRelatedRecords($module,$del_value,$merge_id); + } else { + transferRelatedRecords($module,$del_value,$merge_id); + } + + // Delete the records by id specified in the list + foreach($del_value as $value) + { + DeleteEntity($_REQUEST['module'],$_REQUEST['return_module'],$focus,$value,""); + } + } + + ?> + +assign("EDIT_DUPLICATE",""); + if($record_count == 2) { + if(isPermitted($currentModule,"EditView",$exploded_id[0]) == 'yes' && isPermitted($currentModule,"EditView",$exploded_id[1]) == 'yes' + && isPermitted($currentModule,"Delete",$exploded_id[0]) == 'yes' && isPermitted($currentModule,"Delete",$exploded_id[1]) == 'yes') + $smarty->assign("EDIT_DUPLICATE","permitted"); + } + else { + if(isPermitted($currentModule,"EditView",$exploded_id[0]) == 'yes' && isPermitted($currentModule,"EditView",$exploded_id[1]) == 'yes' && isPermitted($currentModule,"EditView",$exploded_id[2]) == 'yes' + && isPermitted($currentModule,"Delete",$exploded_id[0]) == 'yes' && isPermitted($currentModule,"Delete",$exploded_id[1]) == 'yes' && isPermitted($currentModule,"Delete",$exploded_id[2]) == 'yes') + $smarty->assign("EDIT_DUPLICATE","permitted"); + } + + $all_values_array=getRecordValues($exploded_id,$module); + $all_values=$all_values_array[0]; + $js_arr_val=$all_values_array[1]; + $fld_array=$all_values_array[2]; + $js_arr=implode(",",$js_arr_val); + + $imported_records = Array(); + $sql="select bean_id from vtiger_users_last_import where bean_type=? and deleted=0"; + $result = $adb->pquery($sql, array($module)); + $num_rows=$adb->num_rows($result); + $count=0; + for($i=0; $i<$num_rows;$i++) + { + foreach($exploded_id as $value) + if($value == $adb->query_result($result,$i,"bean_id")) + $count++; + array_push($imported_records,$adb->query_result($result,$i,"bean_id")); + } + + if ($record_count == $count) + $no_existing=1; + else + $no_existing=0; + + $smarty->assign("MOD", $mod_strings); + $smarty->assign("APP", $app_strings); + $smarty->assign("RECORD_COUNT",$record_count); + $smarty->assign("THEME", $theme); + $smarty->assign("IMAGE_PATH", $image_path); + $smarty->assign("MODULENAME", $module); + $smarty->assign("PARENT_TAB", $parent_tab); + $smarty->assign("JS_ARRAY", $js_arr); + $smarty->assign("ID_ARRAY", $exploded_id); + $smarty->assign("IDSTRING",$idstring); + $smarty->assign("ALLVALUES", $all_values); + $smarty->assign("FIELD_ARRAY", $fld_array); + $smarty->assign("IMPORTED_RECORDS", $imported_records); + $smarty->assign("NO_EXISTING", $no_existing); + $smarty->display("MergeFields.tpl"); +} + +?> \ No newline at end of file diff --git a/oss/vtiger/trunk/modules/Contacts/QuickCreate.php b/oss/vtiger/trunk/modules/Contacts/QuickCreate.php new file mode 100644 index 00000000..8d5998b8 --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/QuickCreate.php @@ -0,0 +1,12 @@ + diff --git a/oss/vtiger/trunk/modules/Contacts/Save.php b/oss/vtiger/trunk/modules/Contacts/Save.php new file mode 100644 index 00000000..a19577dd --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/Save.php @@ -0,0 +1,227 @@ +email_opt_out = 'off'; +if (!isset($_REQUEST['do_not_call'])) $focus->do_not_call = 'off'; + +//Checking If image is given or not +//$image_upload_array=SaveImage($_FILES,'contact',$focus->id,$focus->mode); +$image_name_val=$image_upload_array['imagename']; +$image_error="false"; +$errormessage=$image_upload_array['errormessage']; +$saveimage=$image_upload_array['saveimage']; + +//code added for returning back to the current view after edit from list view +if($_REQUEST['return_viewname'] == '') $return_viewname='0'; +if($_REQUEST['return_viewname'] != '')$return_viewname=vtlib_purify($_REQUEST['return_viewname']); + +if($image_error=="true") //If there is any error in the file upload then moving all the data to EditView. +{ + //re diverting the page and reassigning the same values as image error occurs + if($_REQUEST['activity_mode'] != '')$activity_mode=vtlib_purify($_REQUEST['activity_mode']); + if($_REQUEST['return_module'] != '')$return_module=vtlib_purify($_REQUEST['return_module']); + if($_REQUEST['return_action'] != '')$return_action=vtlib_purify($_REQUEST['return_action']); + if($_REQUEST['return_id'] != '')$return_id=vtlib_purify($_REQUEST['return_id']); + + $log->debug("There is an error during the upload of contact image."); + $field_values_passed.=""; + foreach($focus->column_fields as $fieldname => $val) + { + if(isset($_REQUEST[$fieldname])) + { + $log->debug("Assigning the previous values given for the contact to respective vtiger_fields "); + $field_values_passed.="&"; + $value = $_REQUEST[$fieldname]; + $focus->column_fields[$fieldname] = $value; + $field_values_passed.=$fieldname."=".$value; + + } + } + $values_pass=$field_values_passed; + $encode_field_values=base64_encode($values_pass); + + $error_module = "Contacts"; + $error_action = "EditView"; + + $return_action .= '&activity_mode='.vtlib_purify($_request['activity_mode']); + + if($mode=="edit") { + $return_id=vtlib_purify($_REQUEST['record']); + } + header("location: index.php?action=$error_action&module=$error_module&record=$return_id&return_id=$return_id&return_action=$return_action&return_module=$return_module&activity_mode=$activity_mode&return_viewname=$return_viewname".$search."&saveimage=$saveimage&error_msg=$errormessage&image_error=$image_error&encode_val=$encode_field_values"); +} +if($saveimage=="true") +{ + $focus->column_fields['imagename']=$image_name_val; + $log->debug("Assign the Image name to the vtiger_field name "); +} + +//if image added then we have to set that $_FILES['name'] in imagename field then only the image will be displayed +if($_FILES['imagename']['name'] != '') +{ + if(isset($_REQUEST['imagename_hidden'])) { + $focus->column_fields['imagename'] = vtlib_purify($_REQUEST['imagename_hidden']); + } else { + $focus->column_fields['imagename'] = $_FILES['imagename']['name']; + } +} +elseif($focus->id != '') +{ + $result = $adb->pquery("select imagename from vtiger_contactdetails where contactid = ?", array($focus->id)); + $focus->column_fields['imagename'] = $adb->query_result($result,0,'imagename'); +} + +if($_REQUEST['assigntype'] == 'U') { + $focus->column_fields['assigned_user_id'] = $_REQUEST['assigned_user_id']; +} elseif($_REQUEST['assigntype'] == 'T') { + $focus->column_fields['assigned_user_id'] = $_REQUEST['assigned_group_id']; +} +//Saving the contact +if($image_error=="false") +{ + $focus->save("Contacts"); + $return_id = $focus->id; + + if(isset($_REQUEST['return_module']) && $_REQUEST['return_module'] != "") $return_module = vtlib_purify($_REQUEST['return_module']); + else $return_module = "Contacts"; + if(isset($_REQUEST['return_action']) && $_REQUEST['return_action'] != "") $return_action = vtlib_purify($_REQUEST['return_action']); + else $return_action = "DetailView"; + if(isset($_REQUEST['return_id']) && $_REQUEST['return_id'] != "") $return_id = vtlib_purify($_REQUEST['return_id']); + + if(isset($_REQUEST['activity_mode']) && $_REQUEST['activity_mode'] != '') $activitymode = vtlib_purify($_REQUEST['activity_mode']); + + $local_log->debug("Saved record with id of ".$return_id); + if(isset($_REQUEST['return_module']) && $_REQUEST['return_module'] == "Campaigns") + { + if(isset($_REQUEST['return_id']) && $_REQUEST['return_id'] != "") + { + $campContStatusResult = $adb->pquery("select campaignrelstatusid from vtiger_campaigncontrel where campaignid=? AND contactid=?",array($_REQUEST['return_id'], $focus->id)); + $contactStatus = $adb->query_result($campContStatusResult,0,'campaignrelstatusid'); + $sql = "delete from vtiger_campaigncontrel where contactid = ?"; + $adb->pquery($sql, array($focus->id)); + if(isset($contactStatus) && $contactStatus!=''){ + $sql = "insert into vtiger_campaigncontrel values (?,?,?)"; + $adb->pquery($sql, array($_REQUEST['return_id'], $focus->id,$contactStatus)); + } + else + { + $sql = "insert into vtiger_campaigncontrel values (?,?,1)"; + $adb->pquery($sql, array($_REQUEST['return_id'], $focus->id)); + } + } + } + //BEGIN -- Code for Create Customer Portal Users password and Send Mail + if($_REQUEST['portal'] == '' && $_REQUEST['mode'] == 'edit') + { + $sql = "update vtiger_portalinfo set user_name=?,isactive=0 where id=?"; + $adb->pquery($sql, array($_REQUEST['email'], $_REQUEST['record'])); + } + elseif($_REQUEST['portal'] != '' && $_REQUEST['email'] != '')// && $_REQUEST['mode'] != 'edit') + { + $id = $_REQUEST['record']; + $username = $_REQUEST['email']; + + if($_REQUEST['mode'] != 'edit') + $insert = 'true'; + + $sql = "select id,user_name,user_password,isactive from vtiger_portalinfo"; + $result = $adb->pquery($sql, array()); + + for($i=0;$i<$adb->num_rows($result);$i++) + { + if($id == $adb->query_result($result,$i,'id')) + { + $dbusername = $adb->query_result($result,$i,'user_name'); + $isactive = $adb->query_result($result,$i,'isactive'); + + if($username == $dbusername && $isactive == 1) + $flag = 'true'; + else + { + $sql = "update vtiger_portalinfo set user_name=?, isactive=1 where id=?"; + $adb->pquery($sql, array($username, $id)); + $update = 'true'; + $flag = 'true'; + $password = $adb->query_result($result,$i,'user_password'); + } + } + } + if($flag != 'true') + $insert = 'true'; + else + $insert = 'false'; + + if($insert == 'true') + { + $password = makeRandomPassword(); + $sql = "insert into vtiger_portalinfo values(?,?,?,?,?,?,?,?)"; + $params = array($focus->id, $username, $password, 'C', '0000-00-00 00:00:00', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1); + $adb->pquery($sql, $params); + } + + //changes made to send mail to portal user when we use ajax edit + $data_array = Array(); + $data_array['first_name'] = $_REQUEST['firstname']; + $data_array['last_name'] = $_REQUEST['lastname']; + $data_array['email'] = $_REQUEST['email']; + $data_array['portal_url'] = ''.$mod_strings['Please Login Here'].''; + + $value = getmail_contents_portalUser($data_array,$password,"LoginDetails"); + $contents=$value["body"]; $subject=$value["subject"]; + + $log->info("Customer Portal Information Updated in database and details are going to send => '".$_REQUEST['email']."'"); + if($insert == 'true' || $update == 'true') + { + $mail_status = send_mail('Support',$_REQUEST['email'],$current_user->user_name,'',$subject,$contents); + } + $log->info("After return from the SendMailToCustomer function. Now control will go to the header."); + } + //END -- Code for Create Customer Portal Users password and Send Mail + + $log->info("This Page is redirected to : ".$return_module." / ".$return_action."& return id =".$return_id); + + //code added for returning back to the current view after edit from list view + if($_REQUEST['return_viewname'] == '') $return_viewname='0'; + if($_REQUEST['return_viewname'] != '')$return_viewname=vtlib_purify($_REQUEST['return_viewname']); + + $parenttab = getParentTab(); + + + header("Location: index.php?action=$return_action&module=$return_module&parenttab=$parenttab&record=$return_id&activity_mode=$activitymode&viewname=$return_viewname&start=".vtlib_purify($_REQUEST['pagenumber'])); +} + +?> diff --git a/oss/vtiger/trunk/modules/Contacts/Settings.php b/oss/vtiger/trunk/modules/Contacts/Settings.php new file mode 100644 index 00000000..48a80c0b --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/Settings.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/oss/vtiger/trunk/modules/Contacts/TagCloud.php b/oss/vtiger/trunk/modules/Contacts/TagCloud.php new file mode 100644 index 00000000..859b11ff --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/TagCloud.php @@ -0,0 +1,12 @@ + diff --git a/oss/vtiger/trunk/modules/Contacts/UnifiedSearch.php b/oss/vtiger/trunk/modules/Contacts/UnifiedSearch.php new file mode 100644 index 00000000..9a37320c --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/UnifiedSearch.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/oss/vtiger/trunk/modules/Contacts/contactSeedData.php b/oss/vtiger/trunk/modules/Contacts/contactSeedData.php new file mode 100644 index 00000000..ff2881ae --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/contactSeedData.php @@ -0,0 +1,21190 @@ + diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/2tbarPrivateChat.gif b/oss/vtiger/trunk/modules/Contacts/imgs/2tbarPrivateChat.gif new file mode 100644 index 0000000000000000000000000000000000000000..f0d7a1f55e7c93fe98c17a879d35ded75e2b0a3e GIT binary patch literal 718 zcmZ?wbhEHblwgoxc$UfV*oj8uV3G|apSXR&w6@#wr}4a6%}>v+_{-ECver$SXkJDyQ_M88hd*ickP^e=Jc{PYo@PQ-dA2;K4Zp= z*4EZ_YnoRqZ@YA1X<&eDdwcuqR~ueF-_YIN^y0;f{{F6O*RD;RSl`p#v~+R()2B}- zOz7+D&7IKS^YiD={QTJdzK)ujnjb%Y?Ay0*$&w}A-Q5cp^j^QVysx)iLqns#zk9-j z-oD-KJkZ-_t($s0wXC%p_$2F&?Em*i{@j~z9 zc?>HV40Lp*l$4}&bqrQ9L@#ejXWXMEAjm7GtSrVWD4@27(RXKNIuDN=AAiQxYghUC za8g>>|||B&2>Fn9;6QKYbt#d6rZlIi%A)F3UJjd%=__R{TQi}c@f0hkc9n|6quvHz zCbI?)N8!Z`QmprI_5cD$4=BhFzP{j1K&M?jIRrm5B2GL+U;>r zWIo!>ZzFK#gV?gQ6ErNe*KL{WybgInQTjfC7Ux07t=4=l}o! literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/2tbarPublicChat.gif b/oss/vtiger/trunk/modules/Contacts/imgs/2tbarPublicChat.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c8d42d1c07f245edef294b789235c8e505810fc GIT binary patch literal 742 zcmZ?wbhEHblwgoxcvi>|6&3a4`>X5MuYdpg^zG|SPabcPl$3n+eACmXPfwma`RL)+ z=TA3({ruq5r%zwMesy`2w{G3KjT<*^-@bj_nx+%S_RO5o z_xaQ9w{PF}^mNwLRDXDT!O+m~?wuVICr-R~Z`-e5zpAUNe*gYGbLNDep2n`Ori${2 zPam$VUEBZu&FP$+oD;{lFIhbQ@S$DLpWoiOW9`O`YhS#0(cjmxbH{?7?xyzk_Js?2 zTU%S-zkl!L<+Xn8!_Mbar;Ds8&@pvn=xa? zgbBSzjvTpsdF{`iKU0!DlM_A9oL)9}?%e+Vt{*>sl$V$H^|noz(3g5+T)^uBz);q|KxE-o$`);GU@x9Rt< z&zCP>{`hgjub=PB%F6zO0Z=`WK=CIFBLhPrgAPbNC{7sI|2GsiHMg|3wRd#3<@faV z_4l^sn`BR&Hho66Nxn^Ue%^wGixw{o&zZ-#lF`V}Kvqsp*1*tc6{Gj^rhMi-lEUIl zGAb%EOya_ldzjsJ7UuKt7>fxOT)lQxP|Wy3?Ad&2eNn#aPYU=%^`(RFX{!r7eJY@? zZFWyyRqaCoM-WGWnyOvK$7@c9t&2DX8Wu1x9Tex)T~onb=zPaikU@^2fti7q!ALQv zLfUZAi7i>YJSGATjC`z&nzK8;ELos7A>Q;sN5zB#QBCabA~_$!7GyMPSgtsbc!}Ae zIg4Qfk7mQ++fA#vOEwfL9cf^(U^;MUVnPBBS3ditqClsVc7A9YJ%d)tzZHRy*~lGCx! z(!4w?^Joee5H&V3oK8lAxHBFli@9V*=4T`>j)KL!6l2LmEX2_PMEgtga$1aNH4Q42 ziVjb*Vc)3}N4@SlU0v;285J@@nDp=r9*y9UfE#mLV~n37T-?^#I*Q@9I7u#CizKD#W28Ojr9aUtpt`6oI%+6b>L6%XPM z?>TK_0nEc_@O+!B6wN2Gv) znMYiLqd3}+Xd<0Li*phHpi-&)^Z%sjk5U1E1?bnK>ra5{={Vd_r2r0>+c^PuY*E)@ zKEiml{}K#_B2;)P$}%+Kxp+)4Z>_F_lAP`{U7O9#<;~fJ#rdUT;aTbVlWl`F+hKVH zULL$Mu=?uF%hzu|et7@x)7Q`6zI=z9RhyJQ)_%40f<~x0(_9Z54iD^xojuCaaKGW8 z7VaEzog|i5R2qG*ym4PuPe|LL*1vG9b=PQjMF{gx!J(+z<6(_M<>lH#d)w=8@aI;2 Ox;D#AgGr|b$NmDgjp|_l literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/box_BR.gif b/oss/vtiger/trunk/modules/Contacts/imgs/box_BR.gif new file mode 100644 index 0000000000000000000000000000000000000000..44b171d5bab13e2e6ecbe2e1e494e99e2bb6e6fc GIT binary patch literal 609 zcmchU%Tp3@0DylQ3|5e#&eTC1%va6S)RZ<+%`{mO1{pi$8!?nh|MIrKtWMx^F z1>9wSyRZnX3nEXE%9-pr)BA0mtV4f6hdNRI6Mcv8`W?PgXY_}3SLEO*_-O=@FgeQy z?w6zmDS~Ej0a4@EP3Z*d$8AxTEaws#DKal|QRFY@MLtZ%_y9-y5KUA{QaT=L(KIU* z3OYC)4tkCsJM4De?CIH`l~6Gw1W8wf!PyWV@;Nc5nP&*fYfmTW#cX_N@LUXeY4YyQ zt~T6lAw82fu9>X2#>82=zwe|d1S#B(LRdy*NRL&D2N}v04dVh!1PDj>fqh=LB^mYO zQ@3rFaUW*o=xLh5q&S1!F?V&gTg_vap&=fjTD6)~oF%Xc61VY;Z(c;@e6ms$qlgrc zKQqV0IEteQM0?Xov{VoQ0M%;spZ_PVe`GZP7{TuK==u|&Se^hi8*1UC-Dz{wZ{6Go zF%LX%7#<|4pg#}_GxQA0qX-v;YPs@KaxQgos6Ug<=ioxAT)ekfc(AlwfeotBEsvf& z8@Vt#0AIX%^YZoEk00K@`?UJ`>z8k`jfzch?FZC?zD~Hk?Suwy8`;|odu6A)VaqOE z2dwK|-mcCRMiB{Dec3@wQAK4rQ!GY71vbb9_7_lUat3P OjD;p$!|+)xIPw?7>+CN8 literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/box_M.gif b/oss/vtiger/trunk/modules/Contacts/imgs/box_M.gif new file mode 100644 index 0000000000000000000000000000000000000000..e1fa15eac3c7730f1a1ceb9644a5e207b187807c GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcKtb>##D1B2pE79h#MpaUX6G7L;iE{qJ;0J&TSaR2}S literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/box_ML.gif b/oss/vtiger/trunk/modules/Contacts/imgs/box_ML.gif new file mode 100644 index 0000000000000000000000000000000000000000..559ccf08f4ae01f2688d7d6365d2b46e94e0098d GIT binary patch literal 55 zcmZ?wbh9u|WMyDvIK;|u|K{0SS5CZtar@u*mkbOH|6xD}$YB7fVPIzQP!`~1um%9m C%@*ze literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/box_MR.gif b/oss/vtiger/trunk/modules/Contacts/imgs/box_MR.gif new file mode 100644 index 0000000000000000000000000000000000000000..dd798fc535213a3e3a99e1442f149411600268da GIT binary patch literal 63 zcmZ?wbhEHbWMyDvSj50^|K{0SS5CZtar@u*mkdZi@h1zIrvoBEY8jYWBov%E8LR<) C4i54F literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/box_T.gif b/oss/vtiger/trunk/modules/Contacts/imgs/box_T.gif new file mode 100644 index 0000000000000000000000000000000000000000..d09eb43cdd9ea25ba318c92754d76dfaf1e06df2 GIT binary patch literal 96 zcmZ?wbhEHbWMoid*v!Dt)ml1bLj9BpExlb$A|iraEv3C36`d_5oh_vd*nr|s7O=1m ahyRz>JaM>?spkx?9USTS_`xO1s<2 zru5bIcU3VkF#P}jA4t*;DE?$&WMEKW&;eNi@)HA_pTmR=0fJFXA{QPu9duz5>S;Rz>JaM>?spkx?9USTS_`xO1s<2 zru5bIcU3VkF#P}jA4t*;DE?$&WMEKW&;eNi@)HA_?*T7HmnAGZE{${ENp0M%x!LKm2dCr P?C$HG&@w64k--`ODMe6` literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/btn_close.gif b/oss/vtiger/trunk/modules/Contacts/imgs/btn_close.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d7b0f84699ae83d424c226f499f629c446004c2 GIT binary patch literal 244 zcmZ?wbhEHblw*)*XyIpYak2>y@iH{f&CQH4Hqy_{jJ3D5Ff%nYGck0qv&hSeH8RxC z%Zlr4Dd}t}{r~^Jfxa$~BpxXKWMO0gTBXAP1Ry&dSPLJh_oZacQ(m$z=k>lvx9z?t zZ~nOU^rDUbSG&A(3l=SPe$ca~jC zS3fvYRYLHYu9GPL&BuR>8?@u26CD!#tXpDgbeody@iH{f&CQH4Hqy_{jJ3D5Ff%nYGck0qv&hSeH8RxC z%Zlr4Dd}t}{r~^Jfxa$DNbx5NBLmPX9R?r(+3CQV`9QrdC3Bwgl65(+_dPmoSE9TA zR2m3I%>+39t}in+G4%3q@$zt`DLs|2NRr1(Ik$@h1x- z1A{z+4g(N?>~vsV_dvZbC39ZJs%4R{_Z8@zFOlsw>rH&i_j#u5h3m}EjCL$8I+@cu z>w?CcnV39<|?pMsI z))!|hadhSjtMT>*@@nx+3gA&snVy)@JtvK$V?p5JCGCaF6PH;vSJ}I@*3_-^iLHvY tvD>uSeU0&+a@*SVN4@s1vOICp^z@m6^GnZN)XThbO8e%m+jkThtN|4yj@AGG literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/bx_B.gif b/oss/vtiger/trunk/modules/Contacts/imgs/bx_B.gif new file mode 100644 index 0000000000000000000000000000000000000000..f6d8e815ec3662673ff1104cea7c8d5b3c08148a GIT binary patch literal 165 zcmZ?wbhEHbWMr^mIKsd%YkF@-OGRHt?WCT@{;s--Jq;7O>yzWdXH4myHMM8%jQ%;( z`^t(kCigW>>2F>zXY#yR6X(yGG;e1A!a0){%$_uF)`a=9CNkg#ia%Mvk~$y~WG4fw q(gPJc{?vIIqOM`D_ldEDmgI&{TB767WYOz*&_RGjqTQQ=!5RQ@4mN`T literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/close.gif b/oss/vtiger/trunk/modules/Contacts/imgs/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e157ce88f0d3da43e59d5e877007aeb7524bb89 GIT binary patch literal 400 zcmV;B0dM|CNk%w1VGjTg0Hr(t000082nZ1o5gZ&GDJdy8H#a&uIz>fARaI4BU|?ls zWp;LUiHV7#qN2LGy2;7O%F4>j%*@Wt&d<-!(9qD)(b3b>)7910*4Eb8*x1?G+1lFL z+uPgR+}z#W-QM2b-{0Th;Naom;o{=ruz*=jZ3>=;-O`>FVn0>+9?6 z?CkCB?e6aG@9*#M@bK~R@$>WZ^z`)g_4W4l_V@Sq`1ttw`T6?#`u+X=|NsC0|NsC0 z|NsC0A^8LW3IIOS918^;7Zy+`PEQyd1qlI{ zn3#}>*u(n( literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/hide.gif b/oss/vtiger/trunk/modules/Contacts/imgs/hide.gif new file mode 100644 index 0000000000000000000000000000000000000000..96ef9a15dd98e71cd11bf946383863cf9dd0e6bc GIT binary patch literal 410 zcmV;L0cHM2Nk%w1VGjTg0Hr+u000082nZ1o5gZ&GDJdy8H#a&uIz>fARaI4BU|?ls zWp;LUiHV7#qN2LGy2;7O%F4>j%*@Wt&d<-!(9qD)(b3b>)7910*4Eb8*x1?G+1lFL z+uPgR+}z#W-QM2b-{0Th;Naom;o{=ruz*=jZ3>=;-O`>FVn0>+9?6 z?CkCB?e6aG@9*#M@bK~R@$&NW^Yioc^z`-h_4fAm_xJbs`1twx`TF|${r&y_|NsC0 z|NsC0A^8LW3IIO0SL3k4h(766u) zmKYob2?3s;pq~aLG&MUnF)mOkCLxk0Gp?V*n`Z&(W-%iU}Y zFp#LSf8c)nvuvD~Xy=!nx(J;WrO9uqc-2nwqxAevT zJrR!#bcFhksZ8Q{{i5iC`tqG2QL9g=sh+wzb;WgqZ7bf+Ds|jg6;rqC{GKKzkN+%B zTKCkQfB*Y4S7TFiOKV$ETW1$nMNeP%gvQ?9i4!}f&ZwC&jnS25`s{Z0#fuj#Y++@S tWnZ?uY31s*>v~qntl8YUVcVv48`#*k?`URa-p|goXC1@o)1870)&Mhvbk+a> literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/site_bg.gif b/oss/vtiger/trunk/modules/Contacts/imgs/site_bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..a638838f353eae3c315b58c57631acca368387d0 GIT binary patch literal 1213 zcmV;u1VZ~qNk%w1VF3Wp2j&0(aBgQYFDO}7P-$jhWMNxnV_b`ffip2GU|m*RSyFp= za$QAE^~2eP)$ZmNkdgrOoM=WJv%f=ML#?_GfhfE zK|VN1M?gbCI)Q$8e|&XlWnX-HbAWz#VP05yc5r%kaCdcXIW{nDYGibBYjbdEa&T!= zP)crWWk5YQM?^kmWL<7+WHT@-YiMF)U|DBmU0+;QS5!?~SW-7ME<->%Qcp-wPDeX9 zF+@T;PfSKXJT^W&HAX``OGrU7Fe#FdiI9$mHZ(1bi-e1bf{BNKJ2^6jgng5dih_W7 zgo1lQKsl6=ic3jCe|>h7kcv)BMSXj8cy@1gbZwH4h-zqIUR+gLSW$0nW^r$5k&lRD zVOm#JPLYm?Y-(eVjD?SlhLDYhkBo+ni-nDfgN}@ajEaMbhk=NOe~gKPIX5tdgM5O2 zd4z#_fPHs~hJZ#yJ$7?!etUItZ)tjXag>pZQcy{3X<}htSbKSLA^8LV00000EC2ui z0098d2LK2EfB}MogoTEOh=N6njE#USn3rqezniS;~}x)2C3O_Lxews#U8zvTEJRbt|8*VEMEdOE!YpvuM+*O>3d8 z+qZE4X#wd>cd{m7n8yEg3_xO3~y9j3SM-@OS4A5MIDf#b-N zD_@>GhV$n(qD!AHJ%sh^*sl-R&b_<$@7=eEA5XqKc^c@`_gT-rJ$o|nY?QS zl6olMqc;>069DMfa=bujmD(IkuUSQ~#x5WAndTj7CWpG z$R?}ovdX^U?6c3ZA?>u(s$uQ5*e0Rvw%m5xZ5rT)EAATPmTPVq=%%Y~8ECZY?z?E1 zA@98OnsLUx_~v`Y5&ZV+@4o=^JI25S7d$W+2q&yC!df)!@WT!pA@Rf%S8Q<_#Z_di b@x~iF;qk{Hhb+a&B$sUR9w?{0M<4(@G@np^ literal 0 HcmV?d00001 diff --git a/oss/vtiger/trunk/modules/Contacts/imgs/user_icon.gif b/oss/vtiger/trunk/modules/Contacts/imgs/user_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..724727cccfecd9f5b86fc9fb119c3315c05d3ce9 GIT binary patch literal 1111 zcmeH`{WH@69DqNY!gp!Ljb4aZbh&h?R&mvl=DkGMb=CR7$VI2M$|9*7Wf;5A>P)&U z^VSQyGU?5YA%wDC(5`M)w~IP0Wj3Zy^+)tu&p+_oJ$FxdWLQ8ThYoa@5rIXCw>N>g z0eL*$Y#YvYVzmd<_<&iC^B-~EYPF8y&1F!(7OZb@MvA|t(9(!EoB)UT*B#(qG|aZ+ zTrXNb;M@S--3}&`$$QI1{L(2FiyQo5Vq(HzFyN1O_+HBA^YMAIDpNmN7KEc>9FwPq ztgiEgzKm3Sm8DjzXCL9rWvs9PDH)W7+W84=+5u=D$H{)2xA5X0SS%J{(9-a5S#53Y z+)K1-u%$wqeNKSGLceWgMxD9Z9h9jNsnIcSMK=Zq2XR_26bcQ>Dtwc>?;saH-kzMC z^w?Nb$MigrrR+%AtGSldULzlFu9u$akBBM!Q1`u(fO^G{sTiwVp)q9f)qpKUXQ4a(mdxQRfLGC%LPHX(vfj=mn&8&MiF=&0&`)G@ma^ z6Cl6O&DXD7UaqK?GilCK#R(jnXP!>Jhw2r#dPK|UE7&8kCzIF}D-XK}q{hxcF*UKG z@@3@dJ(WZVRhGgjpgFGC|1j8?^od>QoLK@iLCVf`P;{S9 diff --git a/oss/vtiger/trunk/modules/Contacts/language/en_us.lang.php b/oss/vtiger/trunk/modules/Contacts/language/en_us.lang.php new file mode 100644 index 00000000..ac90dd61 --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/language/en_us.lang.php @@ -0,0 +1,249 @@ +'Contacts', +'LBL_INVITEE'=>'Direct Reports', +'LBL_MODULE_TITLE'=>'Contacts: Home', +'LBL_SEARCH_FORM_TITLE'=>'Contact Search', +'LBL_LIST_FORM_TITLE'=>'Contact List', +'LBL_NEW_FORM_TITLE'=>'New Contact', +'LBL_CONTACT_OPP_FORM_TITLE'=>'Contact-Opportunity:', +'LBL_CONTACT'=>'Contact:', + +'LBL_LIST_NAME'=>'Name', +'LBL_LIST_LAST_NAME'=>'Last Name', +'LBL_LIST_FIRST_NAME'=>'First Name', +'LBL_LIST_CONTACT_NAME'=>'Contact Name', +'LBL_LIST_TITLE'=>'Title', +'LBL_LIST_ACCOUNT_NAME'=>'Account Name', +'LBL_LIST_EMAIL_ADDRESS'=>'Email', +'LBL_LIST_PHONE'=>'Phone', +'LBL_LIST_CONTACT_ROLE'=>'Role', + +//DON'T CONVERT THESE THEY ARE MAPPINGS +'db_last_name' => 'LBL_LIST_LAST_NAME', +'db_first_name' => 'LBL_LIST_FIRST_NAME', +'db_title' => 'LBL_LIST_TITLE', +'db_email1' => 'LBL_LIST_EMAIL_ADDRESS', +'db_email2' => 'LBL_LIST_EMAIL_ADDRESS', +//END DON'T CONVERT + +'LBL_EXISTING_CONTACT' => 'Used an existing contact', +'LBL_CREATED_CONTACT' => 'Created a new contact', +'LBL_EXISTING_ACCOUNT' => 'Used an existing vtiger_account', +'LBL_CREATED_ACCOUNT' => 'Created a new vtiger_account', +'LBL_CREATED_CALL' => 'Created a new call', +'LBL_CREATED_MEETING' => 'Created a new meeting', +'LBL_ADDMORE_BUSINESSCARD' =>'Add another business card', + +'LBL_BUSINESSCARD' => 'Business Card', + +'LBL_NAME'=>'Name:', +'LBL_CONTACT_NAME'=>'Contact Name:', +'LBL_CONTACT_INFORMATION'=>'Contact Information', +'LBL_CUSTOM_INFORMATION'=>'Custom Information', +'LBL_FIRST_NAME'=>'First Name:', +'LBL_OFFICE_PHONE'=>'Office Phone:', +'LBL_ACCOUNT_NAME'=>'Account Name:', +'LBL_ANY_PHONE'=>'Any Phone:', +'LBL_PHONE'=>'Phone:', +'LBL_LAST_NAME'=>'Last Name:', +'LBL_MOBILE_PHONE'=>'Mobile:', +'LBL_HOME_PHONE'=>'Home:', +'LBL_LEAD_SOURCE'=>'Lead Source:', +'LBL_OTHER_PHONE'=>'Other Phone:', +'LBL_FAX_PHONE'=>'Fax:', +'LBL_TITLE'=>'Title:', +'LBL_DEPARTMENT'=>'Department:', +'LBL_BIRTHDATE'=>'Birthdate:', +'LBL_EMAIL_ADDRESS'=>'Email:', +'LBL_OTHER_EMAIL_ADDRESS'=>'Other Email:', +'LBL_ANY_EMAIL'=>'Any Email:', +'LBL_REPORTS_TO'=>'Reports To:', +'LBL_ASSISTANT'=>'Assistant:', +'LBL_YAHOO_ID'=>'Yahoo! ID:', +'LBL_ASSISTANT_PHONE'=>'Assistant Phone:', +'LBL_DO_NOT_CALL'=>'Do Not Call:', +'LBL_EMAIL_OPT_OUT'=>'Email Opt Out:', +'LBL_PRIMARY_ADDRESS'=>'Primary Address:', +'LBL_ALTERNATE_ADDRESS'=>'Other Address:', +'LBL_ANY_ADDRESS'=>'Any Address:', +'LBL_CITY'=>'City:', +'LBL_STATE'=>'State:', +'LBL_POSTAL_CODE'=>'Postal Code:', +'LBL_COUNTRY'=>'Country:', +'LBL_DESCRIPTION_INFORMATION'=>'Description Information', +'LBL_IMAGE_INFORMATION'=>'Contact Image Information:', +'LBL_ADDRESS_INFORMATION'=>'Address Information', +'LBL_DESCRIPTION'=>'Description:', +'LBL_CONTACT_ROLE'=>'Role:', +'LBL_OPP_NAME'=>'Opportunity Name:', +'LBL_DUPLICATE'=>'Potential Duplicate Contacts', +'MSG_DUPLICATE' => 'Creating this contact may vtiger_potentialy create a duplicate contact. You may either select a contact from the list below or you may click on Create New Contact to continue creating a new contact with the previously entered data.', + +'LNK_NEW_APPOINTMENT' => 'New Appointment', +'LBL_ADD_BUSINESSCARD' => 'Add Business Card', +'NTC_DELETE_CONFIRMATION'=>'Are you sure you want to delete this record?', +'NTC_REMOVE_CONFIRMATION'=>'Are you sure you want to remove this contact from this case?', +'NTC_REMOVE_DIRECT_REPORT_CONFIRMATION'=>'Are you sure you want to remove this record as a direct vtiger_report?', +'ERR_DELETE_RECORD'=>"en_us A record number must be specified to delete the contact.", +'NTC_COPY_PRIMARY_ADDRESS'=>'Copy primary address to alternate address', +'NTC_COPY_ALTERNATE_ADDRESS'=>'Copy alternate address to primary address', + +'LBL_SELECT_CONTACT'=>'Select Contact', +//Added for search heading +'LBL_GENERAL_INFORMATION'=>'General Information', + + + +//for v4 release added +'LBL_NEW_POTENTIAL'=>'New Potential', +'LBL_POTENTIAL_TITLE'=>'Potentials', + +'LBL_NEW_TASK'=>'New Task', +'LBL_TASK_TITLE'=>'Tasks', +'LBL_NEW_CALL'=>'New Call', +'LBL_CALL_TITLE'=>'Calls', +'LBL_NEW_MEETING'=>'New Meeting', +'LBL_MEETING_TITLE'=>'Meetings', +'LBL_NEW_EMAIL'=>'New Email', +'LBL_EMAIL_TITLE'=>'Emails', +'LBL_NEW_NOTE'=>'New Document', +'LBL_NOTE_TITLE'=>'Documents', + +// Added for 4GA +'LBL_TOOL_FORM_TITLE'=>'Contact Tools', + +'Salutation'=>'Salutation', +'First Name'=>'First Name', +'Office Phone'=>'Office Phone', +'Last Name'=>'Last Name', +'Mobile'=>'Mobile', +'Account Name'=>'Account Name', +'Home Phone'=>'Home Phone', +'Lead Source'=>'Lead Source', +'Other Phone'=>'Other Phone', +'Title'=>'Title', +'Fax'=>'Fax', +'Department'=>'Department', +'Birthdate'=>'Birthdate', +'Email'=>'Email', +'Reports To'=>'Reports To', +'Assistant'=>'Assistant', +'Yahoo Id'=>'Yahoo Id', +'Assistant Phone'=>'Assistant Phone', +'Do Not Call'=>'Do Not Call', +'Email Opt Out'=>'Email Opt Out', +'Assigned To'=>'Assigned To', +'Campaign Source'=>'Campaign Source', +'Reference' =>'Reference', +'Created Time'=>'Created Time', +'Modified Time'=>'Modified Time', +'Mailing Street'=>'Mailing Street', +'Other Street'=>'Other Street', +'Mailing City'=>'Mailing City', +'Mailing State'=>'Mailing State', +'Mailing Zip'=>'Mailing Postal Code', +'Mailing Country'=>'Mailing Country', +'Mailing Po Box'=>'Mailing PO Box', +'Other Po Box'=>'Other PO Box', +'Other City'=>'Other City', +'Other State'=>'Other State', +'Other Zip'=>'Other Postal Code', +'Other Country'=>'Other Country', +'Contact Image'=>'Contact Image', +'Description'=>'Description', + +// Added vtiger_fields for Add Business Card +'LBL_NEW_CONTACT'=>'New Contact', +'LBL_NEW_ACCOUNT'=>'New Account', +'LBL_NOTE_SUBJECT'=>'Document Subject:', +'LBL_NOTE'=>'Note:', +'LBL_WEBSITE'=>'Website:', +'LBL_NEW_APPOINTMENT'=>'New Appointment', +'LBL_SUBJECT'=>'Subject:', +'LBL_START_DATE'=>'Start Date:', +'LBL_START_TIME'=>'Start Time:', + +//Added vtiger_field after 4_0_1 +'Portal User'=>'Portal User', +'LBL_CUSTOMER_PORTAL_INFORMATION'=>'Customer Portal Information', +'Support Start Date'=>'Support Start Date', +'Support End Date'=>'Support End Date', +//Added for 4.2 Release -- CustomView +'Name'=>'Name', +'LBL_ALL'=>'All', +'LBL_MAXIMUM_LIMIT_ERROR'=>'Sorry, the uploaded file exceeds the maximum vtiger_filesize limit. Please try a file smaller than 800000 bytes', +'LBL_UPLOAD_ERROR'=>'Problems in file upload. Please try again!', +'LBL_IMAGE_ERROR'=>'The given file is not of type image(.gif/.jpg/.png)', +'LBL_INVALID_IMAGE'=>'Invalid file OR File has no data', + +//Added after 5Alpha5 +'Notify Owner'=>'Notify Owner', + +//Added for Picklist Values +'--None--'=>'--None--', + +'Mr.'=>'Mr.', +'Ms.'=>'Ms.', +'Mrs.'=>'Mrs.', +'Dr.'=>'Dr.', +'Prof.'=>'Prof.', + +'Cold Call'=>'Cold Call', +'Existing Customer'=>'Existing Customer', +'Self Generated'=>'Self Generated', +'Employee'=>'Employee', +'Partner'=>'Partner', +'Public Relations'=>'Public Relations', +'Direct Mail'=>'Direct Mail', +'Conference'=>'Conference', +'Trade Show'=>'Trade Show', +'Web Site'=>'Web Site', +'Word of mouth'=>'Word of mouth', +'Other'=>'Other', +'User List'=>'User List', + +//Added for 5.0.3 +'Customer Portal Login Details'=>'Customer Portal Login Details', +'Dear'=>'Dear', +'Your Customer Portal Login details are given below:'=>'Your Customer Portal Login details are given below:', +'User Id :'=>'User Id :', +'Password :'=>'Password :', +'Please Login Here'=>'Please Login Here', +'Note :'=>'Note :', +'We suggest you to change your password after logging in first time'=>'We suggest you to change your password after logging in first time.', +'Support Team'=>'Support Team', + +'TITLE_AJAX_CSS_POPUP_CHAT'=>'Ajax Css-Popup chat', + +// Added after 5.0.4 GA + +// Module Sequence Numbering +'Contact Id' => 'Contact Id', +// END + +); + +?> diff --git a/oss/vtiger/trunk/modules/Contacts/language/zh_cn.lang.php b/oss/vtiger/trunk/modules/Contacts/language/zh_cn.lang.php new file mode 100644 index 00000000..fb812b30 --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/language/zh_cn.lang.php @@ -0,0 +1,249 @@ +'联系人', +'LBL_INVITEE'=>'针对报告', +'LBL_MODULE_TITLE'=>'联系人:首页', +'LBL_SEARCH_FORM_TITLE'=>'搜寻联系人', +'LBL_LIST_FORM_TITLE'=>'联系人列表', +'LBL_NEW_FORM_TITLE'=>'新增联系人', +'LBL_CONTACT_OPP_FORM_TITLE'=>'联系人-机会:', +'LBL_CONTACT'=>'联系人:', + +'LBL_LIST_NAME'=>'名称', +'LBL_LIST_LAST_NAME'=>'姓名', +'LBL_LIST_FIRST_NAME'=>'英文名', +'LBL_LIST_CONTACT_NAME'=>'联系人名称', +'LBL_LIST_TITLE'=>'在线IM', +'LBL_LIST_ACCOUNT_NAME'=>'客户名称', +'LBL_LIST_EMAIL_ADDRESS'=>'电子邮件', +'LBL_LIST_PHONE'=>'电话', +'LBL_LIST_CONTACT_ROLE'=>'职位', + +//DON'T CONVERT THESE THEY ARE MAPPINGS +'db_last_name'=>'LBL_LIST_LAST_NAME', +'db_first_name'=>'LBL_LIST_FIRST_NAME', +'db_title'=>'LBL_LIST_TITLE', +'db_email1'=>'LBL_LIST_EMAIL_ADDRESS', +'db_email2'=>'LBL_LIST_EMAIL_ADDRESS', +//END DON'T CONVERT + +'LBL_EXISTING_CONTACT'=>'使用现有的联系人', +'LBL_CREATED_CONTACT'=>'建立新的联系人', +'LBL_EXISTING_ACCOUNT'=>'使用现有的客户', +'LBL_CREATED_ACCOUNT'=>'建立新的客户', +'LBL_CREATED_CALL'=>'建立新的电话记录l', +'LBL_CREATED_MEETING'=>'建立新的会议', +'LBL_ADDMORE_BUSINESSCARD'=>'增加其它的商业名片', + +'LBL_BUSINESSCARD'=>'商业名片', + +'LBL_NAME'=>'名称:', +'LBL_CONTACT_NAME'=>'联系人名称:', +'LBL_CONTACT_INFORMATION'=>'联系人信息', +'LBL_CUSTOM_INFORMATION'=>'客户信息', +'LBL_FIRST_NAME'=>'英文名:', +'LBL_OFFICE_PHONE'=>'办公室电话:', +'LBL_ACCOUNT_NAME'=>'客户名称:', +'LBL_ANY_PHONE'=>'其它电话:', +'LBL_PHONE'=>'电话:', +'LBL_LAST_NAME'=>'姓名:', +'LBL_MOBILE_PHONE'=>'手机:', +'LBL_HOME_PHONE'=>'首页:', +'LBL_LEAD_SOURCE'=>'接触来源:', +'LBL_OTHER_PHONE'=>'其它电话:', +'LBL_FAX_PHONE'=>'传真:', +'LBL_TITLE'=>'在线IM:', +'LBL_DEPARTMENT'=>'部门:', +'LBL_BIRTHDATE'=>'生日:', +'LBL_EMAIL_ADDRESS'=>'电子邮件:', +'LBL_OTHER_EMAIL_ADDRESS'=>'其它电子邮件:', +'LBL_ANY_EMAIL'=>'其它电子邮件:', +'LBL_REPORTS_TO'=>'报告给:', +'LBL_ASSISTANT'=>'助理:', +'LBL_YAHOO_ID'=>'Yahoo账号:', +'LBL_ASSISTANT_PHONE'=>'助理电话:', +'LBL_DO_NOT_CALL'=>'请勿来电:', +'LBL_EMAIL_OPT_OUT'=>'请勿寄电子邮件:', +'LBL_PRIMARY_ADDRESS'=>'主要地址:', +'LBL_ALTERNATE_ADDRESS'=>'其它地址:', +'LBL_ANY_ADDRESS'=>'其它地址:', +'LBL_CITY'=>'乡镇市区:', +'LBL_STATE'=>'市(县):', +'LBL_POSTAL_CODE'=>'邮政编码:', +'LBL_COUNTRY'=>'省(市/自治区):', +'LBL_DESCRIPTION_INFORMATION'=>'描述信息', +'LBL_IMAGE_INFORMATION'=>'联系人照片:', +'LBL_ADDRESS_INFORMATION'=>'地址信息', +'LBL_DESCRIPTION'=>'描述:', +'LBL_CONTACT_ROLE'=>'职位:', +'LBL_OPP_NAME'=>'机会名称:', +'LBL_DUPLICATE'=>'接触到潜在案件', +'MSG_DUPLICATE'=>'建立这个联系人可能造成重复,您可以点选建立联系人来透过已存在的数据建立新的联系人或是点选取消。', + +'LNK_NEW_APPOINTMENT'=>'新增行程', +'LBL_ADD_BUSINESSCARD'=>'新增商业名片', +'NTC_DELETE_CONFIRMATION'=>'您确定要删除这笔记录?', +'NTC_REMOVE_CONFIRMATION'=>'您确定要从这个案件中移除这位联系人?', +'NTC_REMOVE_DIRECT_REPORT_CONFIRMATION'=>'您确定要将此记录从直接报告人处删除吗?', +'ERR_DELETE_RECORD'=>'在删除联系人前必须输入正确的记录编号.', +'NTC_COPY_PRIMARY_ADDRESS'=>'复制主要地址到替代地址', +'NTC_COPY_ALTERNATE_ADDRESS'=>'复制替代地址到替代地址', + +'LBL_SELECT_CONTACT'=>'选择联系人', +//Added for search heading +'LBL_GENERAL_INFORMATION'=>'一般信息', + + + +//for v4 release added +'LBL_NEW_POTENTIAL'=>'新增潜在', +'LBL_POTENTIAL_TITLE'=>'潜在', + +'LBL_NEW_TASK'=>'新增任务', +'LBL_TASK_TITLE'=>'任务', +'LBL_NEW_CALL'=>'新增电话记录', +'LBL_CALL_TITLE'=>'电话记录', +'LBL_NEW_MEETING'=>'新增会议', +'LBL_MEETING_TITLE'=>'会议', +'LBL_NEW_EMAIL'=>'新增电子邮件', +'LBL_EMAIL_TITLE'=>'电子邮件', +'LBL_NEW_NOTE'=>'新增备忘录', +'LBL_NOTE_TITLE'=>'备忘录', + +// Added for 4GA +'LBL_TOOL_FORM_TITLE'=>'联系人编辑区', + +'Salutation'=>'问候', +'First Name'=>'英文名', +'Office Phone'=>'办公室电话', +'Last Name'=>'姓名', +'Mobile'=>'手机', +'Account Name'=>'客户名称', +'Home Phone'=>'家用电话', +'Lead Source'=>'客户来源', +'Other Phone'=>'电话', +'Title'=>'在线QQ', +'Fax'=>'传真', +'Department'=>'部门', +'Birthdate'=>'生日', +'Email'=>'电子邮件', +'Reports To'=>'报告给', +'Assistant'=>'助理', +'Yahoo Id'=>'Yahoo账号', +'Assistant Phone'=>'助理电话', +'Do Not Call'=>'拒绝来电', +'Email Opt Out'=>'拒绝电子邮件', +'Assigned To'=>'负责人', +'Campaign Source'=>'活动来源', +'Reference'=>'参考', +'Created Time'=>'建立时间', +'Modified Time'=>'修改时间', +'Mailing Street'=>'邮寄地址', +'Other Street'=>'其它地址', +'Mailing City'=>'乡镇市区', +'Mailing State'=>'市(县)', +'Mailing Zip'=>'邮政编码', +'Mailing Country'=>'省(市/自治区)', +'Mailing Po Box'=>'采购订单信箱', +'Other Po Box'=>'其它采购订单信箱', +'Other City'=>'乡镇市区', +'Other State'=>'市(县)', +'Other Zip'=>'邮政编码', +'Other Country'=>'省(市/自治区)', +'Contact Image'=>'照片', +'Description'=>'描述', + +// Added vtiger_fields for Add Business Card +'LBL_NEW_CONTACT'=>'新增联系人', +'LBL_NEW_ACCOUNT'=>'新增客户', +'LBL_NOTE_SUBJECT'=>'备忘录标题:', +'LBL_NOTE'=>'备忘录:', +'LBL_WEBSITE'=>'网站:', +'LBL_NEW_APPOINTMENT'=>'新增行程', +'LBL_SUBJECT'=>'在线IM:', +'LBL_START_DATE'=>'开始日期:', +'LBL_START_TIME'=>'开始时间:', + +//Added vtiger_field after 4_0_1 +'Portal User'=>'网站账号', +'LBL_CUSTOMER_PORTAL_INFORMATION'=>'网站客户信息', +'Support Start Date'=>'支持开始日期', +'Support End Date'=>'支持结束日期', +//Added for 4.2 Release -- CustomView +'Name'=>'名称', +'LBL_ALL'=>'全部', +'LBL_MAXIMUM_LIMIT_ERROR'=>'抱歉,文件超过系统限制,请保持上传文件在800000bytes以下', +'LBL_UPLOAD_ERROR'=>'上传失败,请重试!', +'LBL_IMAGE_ERROR'=>'提供的文件不是图片格式(.gif/.jpg/.png)', +'LBL_INVALID_IMAGE'=>'文件有误或是没有数据', + +//Added after 5Alpha5 +'Notify Owner'=>'提醒负责人', + +//Added for Picklist Values +'--None--'=>'--None--', + +'Mr.'=>'先生', +'Ms.'=>'小姐', +'Mrs.'=>'太太', +'Dr.'=>'博士', +'Prof.'=>'专家', + +'Cold Call'=>'陌生拜访', +'Existing Customer'=>'既有客户', +'Self Generated'=>'自动产生', +'Employee'=>'员工', +'Partner'=>'伙伴', +'Public Relations'=>'公众关系', +'Direct Mail'=>'邮件营销', +'Conference'=>'研讨会', +'Trade Show'=>'贸易展览', +'Web Site'=>'网站', +'Word of mouth'=>'口耳相传', +'Other'=>'其它', +'User List'=>'使用者清单', + +//Added for 5.0.3 +'Customer Portal Login Details'=>'顾客注册细节', +'Dear'=>'亲爱的', +'Your Customer Portal Login details are given below:'=>'您的顾客提供了以下注册细节:', +'User Id :'=>'用户号:', +'Password :'=>'密码:', +'Please Login Here'=>'请在这里登录', +'Note :'=>'笔记:', +'We suggest you to change your password after logging in first time'=>'请您在第一次登录时修改密码以保证安全.', +'Support Team'=>'项目团队', + +'TITLE_AJAX_CSS_POPUP_CHAT'=>'Ajax Css-Popup chat', + +// Added after 5.0.4 GA + +// Module Sequence Numbering +'Contact Id'=>'编号', +//END + +); + +?> diff --git a/oss/vtiger/trunk/modules/Contacts/updateRelations.php b/oss/vtiger/trunk/modules/Contacts/updateRelations.php new file mode 100644 index 00000000..c526ba9b --- /dev/null +++ b/oss/vtiger/trunk/modules/Contacts/updateRelations.php @@ -0,0 +1,55 @@ +pquery($sql, array($forCRMRecord, $_REQUEST["pot_id"])); +} +$focus = CRMEntity::getInstance($currentModule); +foreach($storearray as $id) +{ + if($id != '') + { + if($dest_mod == 'Products') + $adb->pquery("insert into vtiger_seproductsrel values (?,?,?)", array($forCRMRecord, $id, 'Contacts')); + elseif($dest_mod == 'Campaigns') + $adb->pquery("insert into vtiger_campaigncontrel values(?,?,1)", array($id, $forCRMRecord)); + elseif($dest_mod == 'Documents') + $adb->pquery("insert into vtiger_senotesrel values(?,?)", array($forCRMRecord,$id)); + else { + $focus->save_related_module($currentModule, $forCRMRecord, $dest_mod, $id); + } + } +} + +header("Location: index.php?action=$action&module=$currentModule&record=".$forCRMRecord."&parenttab=".$parenttab); + +?>