You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
356 lines
11 KiB
356 lines
11 KiB
<?php
|
|
/*********************************************************************************
|
|
** 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.
|
|
*
|
|
********************************************************************************/
|
|
|
|
require_once('include/database/PearDatabase.php');
|
|
require_once('include/utils.php');
|
|
|
|
function getCustomFieldTypeName($uitype)
|
|
{
|
|
global $vtlog;
|
|
$vtlog->logthis("uitype is ".$uitype,'info');
|
|
$fldname = '';
|
|
|
|
if($uitype == 1)
|
|
{
|
|
$fldname = 'Text';
|
|
}
|
|
elseif($uitype == 7)
|
|
{
|
|
$fldname = 'Number';
|
|
}
|
|
elseif($uitype == 9)
|
|
{
|
|
$fldname = 'Percent';
|
|
}
|
|
elseif($uitype == 3)
|
|
{
|
|
$fldname = 'Currency';
|
|
}
|
|
elseif($uitype == 5)
|
|
{
|
|
$fldname = 'Date';
|
|
}
|
|
elseif($uitype == 13)
|
|
{
|
|
$fldname = 'Email';
|
|
}
|
|
elseif($uitype == 11)
|
|
{
|
|
$fldname = 'Phone';
|
|
}
|
|
elseif($uitype == 15)
|
|
{
|
|
$fldname = 'Pick';
|
|
}
|
|
elseif($uitype == 17)
|
|
{
|
|
$fldname = 'Url';
|
|
}
|
|
elseif($uitype == 56)
|
|
{
|
|
$fldname = 'Checkbox';
|
|
}
|
|
return $fldname;
|
|
}
|
|
|
|
|
|
function CustomFieldEditView($id, $fldModule, $tableName, $colidName, $app_strings, $theme)
|
|
{
|
|
|
|
global $adb;
|
|
//Custom Field Addition
|
|
$dbquery = "select * from field where tablename='".$fldModule."'";
|
|
$result = $adb->query($dbquery);
|
|
if($adb->num_rows($result) != 0)
|
|
{
|
|
if(isset($id))
|
|
{
|
|
$custquery = 'select * from '.$tableName.' where '.$colidName."='".$id."'";
|
|
$cust_result = $adb->query($custquery);
|
|
}
|
|
$noofrows = $adb->num_rows($result);
|
|
|
|
$custfld = '<table width="100%" border="0" cellspacing="1" cellpadding="0">';
|
|
$custfld .= '<tr><th align="left" class="formSecHeader" colspan="4">Custom Information</th></tr>';
|
|
for($i=0; $i<$noofrows; $i++)
|
|
{
|
|
$colName=$adb->query_result($result,$i,"fieldlabel");
|
|
$setName=$adb->query_result($result,$i,"column_name");
|
|
$uitype=$adb->query_result($result,$i,"uitype");
|
|
if(isset($id) && $adb->num_rows($cust_result) != 0)
|
|
{
|
|
$value=$adb->query_result($cust_result,0,strtolower($setName));
|
|
}
|
|
else
|
|
{
|
|
$value='';
|
|
}
|
|
$custfld .= '<tr>
|
|
<td width="20%" class="dataLabel">'.$colName.':</td>';
|
|
if($uitype == 5)
|
|
{
|
|
$date_format = parse_calendardate($app_strings['NTC_DATE_FORMAT']);
|
|
$custfld .= '<td width="30%"><input name="'.$setName.'" id="jscal_field_'.$setName.'" type="text" tabindex="2" size="11" maxlength="10" value="'.$value.'"> <img src="themes/'.$theme.'/images/calendar.gif" id="jscal_trigger_'.$setName.'"> <font size=1><em old="(yyyy-mm-dd)">(yyyy-mm-dd)</em></font></td>';
|
|
$custfld .= '<script type="text/javascript">';
|
|
$custfld .= 'Calendar.setup ({';
|
|
$custfld .= 'inputField : "jscal_field_'.$setName.'", ifFormat : "'.$date_format.'", showsTime : false, button : "jscal_trigger_'.$setName.'", singleClick : true, step : 1';
|
|
$custfld .= '});';
|
|
$custfld .= '</script>';
|
|
}
|
|
elseif($uitype == 15)
|
|
{
|
|
$pick_query="select * from ".$fldModule."_".$setName;
|
|
$pickListResult = $adb->query($pick_query);
|
|
$noofpickrows = $adb->num_rows($pickListResult);
|
|
$custfld .= '<td width="30%"><select name="'.$setName.'" tabindex="1">';
|
|
for($j = 0; $j < $noofpickrows; $j++)
|
|
{
|
|
$pickListValue=$adb->query_result($pickListResult,$j,strtolower($setName));
|
|
|
|
if($value == $pickListValue)
|
|
{
|
|
$chk_val = "selected";
|
|
}
|
|
else
|
|
{
|
|
$chk_val = '';
|
|
}
|
|
|
|
$custfld .= '<OPTION value="'.$pickListValue.'" '.$chk_val.'>'.$pickListValue.'</OPTION>';
|
|
}
|
|
$custfld .= '</td>';
|
|
}
|
|
else
|
|
{
|
|
|
|
$custfld .= '<td width="30%"><input name="'.$setName.'" type="text" tabindex="'.$i.'" size="25" maxlength="25" value="'.$value.'"></td>';
|
|
}
|
|
$i++;
|
|
if($i<$noofrows)
|
|
{
|
|
$colName=$adb->query_result($result,$i,"fieldlabel");
|
|
$setName=$adb->query_result($result,$i,"column_name");
|
|
$uitype=$adb->query_result($result,$i,"uitype");
|
|
if(isset($id) && $adb->num_rows($cust_result) != 0)
|
|
{
|
|
$value=$adb->query_result($cust_result,0,$setName);
|
|
}
|
|
else
|
|
{
|
|
$value='';
|
|
}
|
|
$custfld .= '<td width="20%" class="dataLabel">'.$colName.':</td>';
|
|
if($uitype == 5)
|
|
{
|
|
$date_format = parse_calendardate($app_strings['NTC_DATE_FORMAT']);
|
|
$custfld .= '<td width="30%"><input name="'.$setName.'" id="jscal_field_'.$setName.'" type="text" tabindex="2" size="11" maxlength="10" value="'.$value.'"> <img src="themes/'.$theme.'/images/calendar.gif" id="jscal_trigger_'.$setName.'"> <font size=1><em old="(yyyy-mm-dd)">(yyyy-mm-dd)</em></font></td>';
|
|
$custfld .= '<script type="text/javascript">';
|
|
$custfld .= 'Calendar.setup ({';
|
|
$custfld .= 'inputField : "jscal_field_'.$setName.'", ifFormat : "'.$date_format.'", showsTime : false, button : "jscal_trigger_'.$setName.'", singleClick : true, step : 1';
|
|
$custfld .= '});';
|
|
$custfld .= '</script>';
|
|
|
|
}
|
|
elseif($uitype == 15)
|
|
{
|
|
$pick_query="select * from ".$fldModule."_".$setName;
|
|
$pickListResult = $adb->query($pick_query);
|
|
$noofpickrows = $adb->num_rows($pickListResult);
|
|
$custfld .= '<td width="30%"><select name="'.$setName.'" tabindex="1">';
|
|
for($j = 0; $j < $noofpickrows; $j++)
|
|
{
|
|
$pickListValue=$adb->query_result($pickListResult,$j,strtolower($setName));
|
|
|
|
if($value == $pickListValue)
|
|
{
|
|
$chk_val = "selected";
|
|
}
|
|
else
|
|
{
|
|
$chk_val = '';
|
|
}
|
|
|
|
$custfld .= '<OPTION value="'.$pickListValue.'" '.$chk_val.'>'.$pickListValue.'</OPTION>';
|
|
}
|
|
$custfld .= '</td>';
|
|
}
|
|
else
|
|
{
|
|
$custfld .= '<td width="30%"><input name="'.$setName.'" type="text" tabindex="'.$i.'" size="25" maxlength="25" value="'.$value.'"></td>';
|
|
}
|
|
}
|
|
|
|
$custfld .= '<tr>';
|
|
|
|
}
|
|
$custfld .= '</table>';
|
|
return $custfld;
|
|
|
|
}
|
|
}
|
|
|
|
function CustomFieldDetailView($id, $fldModule, $tableName, $colidName)
|
|
{
|
|
global $adb;
|
|
//Assigning custom field values
|
|
$dbquery = "select * from field where tablename='".$fldModule."'";
|
|
$result = $adb->query($dbquery);
|
|
$adb->println($result);
|
|
if($adb->num_rows($result) != 0)
|
|
{
|
|
$custquery = 'select * from '.$tableName.' where '.$colidName."='".$id."'";
|
|
$cust_result = $adb->query($custquery);
|
|
$adb->println($cust_result);
|
|
|
|
$noofrows=$adb->num_rows($result);
|
|
$custfld = '';
|
|
for($i=0; $i<$noofrows; $i++)
|
|
{
|
|
$fldName=$adb->query_result($result,$i,"fieldlabel");
|
|
$colName=$adb->query_result($result,$i,"column_name");
|
|
$uitype=$adb->query_result($result,$i,"uitype");
|
|
if($adb->num_rows($cust_result) != 0)
|
|
{
|
|
$value=$adb->query_result($cust_result,0,strtolower($colName));
|
|
}
|
|
else
|
|
{
|
|
$value='';
|
|
$adb->println("emply value ");
|
|
}
|
|
$custfld .= '<tr>';
|
|
$custfld .= '<td width="20%" valign="top" class="dataLabel">'.$fldName.':</td>';
|
|
if($uitype == 13)
|
|
{
|
|
$custfld .= '<td width="30%" valign="top" class="dataField"><a href="mailto:'.$value.'">'.$value.'</a></td>';
|
|
}
|
|
else
|
|
{
|
|
$custfld .= '<td width="30%" valign="top" class="dataField">'.$value.'</td>';
|
|
}
|
|
$i++;
|
|
if($i<$noofrows)
|
|
{
|
|
$fldName=$adb->query_result($result,$i,"fieldlabel");
|
|
$colName=$adb->query_result($result,$i,"column_name");
|
|
$uitype=$adb->query_result($result,$i,"uitype");
|
|
if($adb->num_rows($cust_result) != 0)
|
|
{
|
|
$value=$adb->query_result($cust_result,0,strtolower($colName));
|
|
}
|
|
else
|
|
{
|
|
$value='';
|
|
}
|
|
$custfld .= '<td width="20%" valign="top" class="dataLabel">'.$fldName.':</td>';
|
|
if($uitype == 13)
|
|
{
|
|
|
|
$custfld .= '<td width="30%" valign="top" class="dataField"><a href="mailto:'.$value.'">'.$value.'</a></td>';
|
|
}
|
|
else
|
|
{
|
|
$custfld .= '<td width="30%" valign="top" class="dataField">'.$value.'</td>';
|
|
}
|
|
}
|
|
|
|
|
|
$custfld .= '<tr>';
|
|
|
|
}
|
|
}
|
|
return $custfld;
|
|
}
|
|
|
|
function getCustomFieldArray($module)
|
|
{
|
|
global $adb;
|
|
$custquery = "select * from field where tablename='".$module."'";
|
|
$custresult = $adb->query($custquery);
|
|
$custFldArray = Array();
|
|
$noofrows = $adb->num_rows($custresult);
|
|
for($i=0; $i<$noofrows; $i++)
|
|
{
|
|
$colName=$adb->query_result($custresult,$i,"column_name");
|
|
$custFldArray[$colName] = $i;
|
|
}
|
|
return $custFldArray;
|
|
|
|
}
|
|
|
|
function getCustomFieldTrans($module, $trans_array)
|
|
{
|
|
global $adb;
|
|
$tab_id = getTabid($module);
|
|
$custquery = "select columnname,fieldlabel from field where generatedtype=2 and tabid=".$tab_id;
|
|
$custresult = $adb->query($custquery);
|
|
$custFldArray = Array();
|
|
$noofrows = $adb->num_rows($custresult);
|
|
for($i=0; $i<$noofrows; $i++)
|
|
{
|
|
$colName=$adb->query_result($custresult,$i,"columnname");
|
|
$fldLbl = $adb->query_result($custresult,$i,"fieldlabel");
|
|
$trans_array[$colName] = $fldLbl;
|
|
}
|
|
}
|
|
|
|
|
|
function CustomFieldSearch($customfieldarray, $fldModule, $tableName,$colidName,$app_strings,$theme,$fieldlabel,$column)
|
|
{
|
|
global $adb;
|
|
//for($i=0;$i<count($customfieldarray);$i++){echo '<br> Custom Field : '.$i.'...'.$customfieldarray[$i];}
|
|
//Custom Field Addition
|
|
$dbquery = "select * from field where tablename='".$fldModule."' order by fieldlabel";
|
|
$result = $adb->query($dbquery);
|
|
if($adb->num_rows($result) != 0)
|
|
{
|
|
$noofrows = $adb->num_rows($result);
|
|
|
|
$custfld = '<table width="85%" border="0" cellspacing="0" cellpadding="0">';
|
|
$custfld .= '<tr><th align="left" class="formSecHeader" colspan="4">'.$app_strings['LBL_CUSTOM_INFORMATION'].'</th></tr>';
|
|
for($i=0; $i<$noofrows; $i++)
|
|
{
|
|
$id=$customfieldarray[$i];
|
|
$colName=$column[$i];
|
|
$setName=$fieldlabel[$i];
|
|
$uitype[$i] = $adb->query_result($result,$i,'uitype');
|
|
|
|
if($uitype[$i] == 56)
|
|
{
|
|
$custfld .= '<td width="20%" class="dataLabel">'.$colName.':</td>';
|
|
if($customfieldarray[$i] == 'on')
|
|
{
|
|
$custfld .='<td width="30%"><input name="'.$setName.'" type="checkbox" checked></td>';
|
|
}
|
|
else
|
|
{
|
|
$custfld .='<td width="30%"><input name="'.$setName.'" type="checkbox"></td>';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$custfld .= '<td width="20%" class="dataLabel">'.$colName.':</td>';
|
|
|
|
$custfld .= '<td width="30%"><input name="'.$setName.'" type="text" tabindex="'.$i.'" size="25" maxlength="25" value="'.$customfieldarray[$i].'"></td>';
|
|
if($i%2==1)
|
|
{
|
|
$custfld .= '<tr>';
|
|
}
|
|
}
|
|
}
|
|
|
|
$custfld .= '</table>';
|
|
return $custfld;
|
|
|
|
}
|
|
}
|
|
|
|
?>
|
|
|