Commit b9ec1261 authored by Satish's avatar Satish
Browse files

merged with master

parents 02c6aba1 e0efe647
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -253,7 +253,7 @@ function send_email($to,$from,$subject,$contents,$mail_server,$mail_server_usern
	else
		$mail->SMTPAuth = false;
	$mail->Username = $mail_server_username ;	// SMTP username
	$mail->Password = $mail_server_password ;	// SMTP password
	$mail->Password = Vtiger_Functions::fromProtectedText($mail_server_password) ;	// SMTP password
	$mail->From = $from;
	$mail->FromName = $initialfrom;
	$log->info("Mail sending process : From Name & email id => '".$initialfrom."','".$from."'");
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ $mailserveresult = $adb->pquery("SELECT server,server_username,server_password,s
$mailrow = $adb->fetch_array($mailserveresult);
$mailserver = $mailrow[0];
$mailuname = $mailrow[1];
$mailpwd = $mailrow[2];
$mailpwd = Vtiger_Functions::fromProtectedText($mailrow[2]);
$smtp_auth = $mailrow[3];
// End Email Setup

+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ function sendmail($to,$from,$subject,$contents,$mail_server,$mail_server_usernam
	else
		$mail->SMTPAuth = false;
	$mail->Username = $mail_server_username ;//$smtp_username;  // SMTP username
	$mail->Password = $mail_server_password ;//$smtp_password; // SMTP password
	$mail->Password = Vtiger_Functions::fromProtectedText($mail_server_password);//$smtp_password; // SMTP password
	$mail->From = $from;
	$mail->FromName = $initialfrom;
	$mail->AddAddress($to);                  // name is optional
+80 −0
Original line number Diff line number Diff line
@@ -2204,6 +2204,86 @@ class CRMEntity {
		return $query;
	}

	function getReportsUiType10Query($module, $queryPlanner){
		$adb = PearDatabase::getInstance();
		$relquery = '';
		$matrix = $queryPlanner->newDependencyMatrix();

		$params = array($module);
		if($module == "Calendar") {
			array_push($params,"Events");
		}

		$fields_query = $adb->pquery("SELECT vtiger_field.fieldname,vtiger_field.tablename,vtiger_field.fieldid from vtiger_field INNER JOIN vtiger_tab on vtiger_tab.name IN (".  generateQuestionMarks($params).") WHERE vtiger_tab.tabid=vtiger_field.tabid AND vtiger_field.uitype IN (10) AND vtiger_field.presence IN (0,2)", $params);

		if ($adb->num_rows($fields_query) > 0) {
			for ($i = 0; $i < $adb->num_rows($fields_query); $i++) {
				$field_name = $adb->query_result($fields_query, $i, 'fieldname');
				$field_id = $adb->query_result($fields_query, $i, 'fieldid');
				$tab_name = $adb->query_result($fields_query, $i, 'tablename');
				$ui10_modules_query = $adb->pquery("SELECT relmodule FROM vtiger_fieldmodulerel WHERE fieldid=?", array($field_id));

				if ($adb->num_rows($ui10_modules_query) > 0) {

					// Capture the forward table dependencies due to dynamic related-field
					$crmentityRelModuleFieldTable = "vtiger_crmentityRel$module$field_id";

					$crmentityRelModuleFieldTableDeps = array();
					$calendarFlag = false;
					for ($j = 0; $j < $adb->num_rows($ui10_modules_query); $j++) {
						$rel_mod = $adb->query_result($ui10_modules_query, $j, 'relmodule');
						if(vtlib_isModuleActive($rel_mod)) {
							if($rel_mod == 'Calendar') {
								$calendarFlag = true;
							}
							if($calendarFlag && $rel_mod == 'Events') {
								continue;
							}
							$rel_obj = CRMEntity::getInstance($rel_mod);
							vtlib_setup_modulevars($rel_mod, $rel_obj);

							$rel_tab_name = $rel_obj->table_name;
							$rel_tab_index = $rel_obj->table_index;
							$crmentityRelModuleFieldTableDeps[] = $rel_tab_name . "Rel$module$field_id";
						}
					}

					$matrix->setDependency($crmentityRelModuleFieldTable, $crmentityRelModuleFieldTableDeps);
					$matrix->addDependency($tab_name, $crmentityRelModuleFieldTable);

					if ($queryPlanner->requireTable($crmentityRelModuleFieldTable, $matrix)) {
						$relquery.= " LEFT JOIN vtiger_crmentity AS $crmentityRelModuleFieldTable ON $crmentityRelModuleFieldTable.crmid = $tab_name.$field_name AND vtiger_crmentityRel$module$field_id.deleted=0";
					}

					$calendarFlag = false;
					for ($j = 0; $j < $adb->num_rows($ui10_modules_query); $j++) {
						$rel_mod = $adb->query_result($ui10_modules_query, $j, 'relmodule');
						if(vtlib_isModuleActive($rel_mod)) {
							if($rel_mod == 'Calendar') {
								$calendarFlag = true;
							}
							if($calendarFlag && $rel_mod == 'Events') {
								continue;
							}
							$rel_obj = CRMEntity::getInstance($rel_mod);
							vtlib_setup_modulevars($rel_mod, $rel_obj);

							$rel_tab_name = $rel_obj->table_name;
							$rel_tab_index = $rel_obj->table_index;

							$rel_tab_name_rel_module_table_alias = $rel_tab_name . "Rel$module$field_id";

							if ($queryPlanner->requireTable($rel_tab_name_rel_module_table_alias)) {
								$relquery.= " LEFT JOIN $rel_tab_name AS $rel_tab_name_rel_module_table_alias ON $rel_tab_name_rel_module_table_alias.$rel_tab_index = $crmentityRelModuleFieldTable.crmid";
							}
						}
					}
				}
			}
		}
		return $relquery;
	}

	/*
	 * Function to get the security query part of a report
	 * @param - $module primary module name
+7 −3
Original line number Diff line number Diff line
@@ -1154,8 +1154,12 @@ class QueryGenerator {
				$value = "'$value'";
			}

			if($this->isNumericType($field->getFieldDataType()) && empty($value)) {
			if($this->isNumericType($field->getFieldDataType())) {
				if (empty($value)) {
					$value = '0';
				} else if (preg_match("/[^+\-0-9.]+/", $value)) {
					$value = $db->quote($value);
				}
			}
			$sql[] = "$sqlOperator $value";
		}
Loading