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; | |
| 
 | |
|         } | |
| } | |
| 
 | |
| ?>
 | |
| 
 |