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.

129 lines
4.2 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.
*
********************************************************************************/
//query the specific table and then get the data and write the data here
require_once('include/database/PearDatabase.php');
include_once('modules/Contacts/Contact.php');
include_once('modules/Leads/Lead.php');
include_once('modules/Users/User.php');
global $vtlog;
//download the template file and store it in some specific location
$sql = "select templatename,body from emailtemplates where templateid='".$_REQUEST["templateid"] ."'";
$tempresult = $adb->query($sql);
$tempArray = $adb->fetch_array($tempresult);
$fileContent = $tempArray["body"];
$vtlog->logthis("the filecontent is ".$fileContent,'debug');
$handle = fopen($root_directory.'/modules/Emails/templates/'.$_REQUEST["templatename"],"wb") ;
fwrite($handle,$fileContent,89999999);
fclose($handle);
//create a file and write to it so that it can be used as the emailtemplateusage.php file
if (is_file($root_directory.'/modules/Emails/templates/testemailtemplateusage.php')) {
$is_writable = is_writable($root_directory.'/modules/Emails/templates/testemailtemplateusage.php');
}
else {
$is_writable = is_writable('.');
}
//$config = "<?php \n";
// $config .= "/*********************************************************************************\n";
//$config .= " * The contents of this file are subject to the vtigerCRM License \n";
// $config .= " * All Rights Reserved.\n";
// $config .= " * Contributor(s): ______________________________________.\n";
// $config .= "********************************************************************************/\n\n";
$myString = "<?php \n";
$myString .= "/*********************************************************************************\n";
$myString .= " * The contents of this file are subject to the vtigerCRM License \n";
$myString .= " * All Rights Reserved.\n";
$myString .= " * Contributor(s): ______________________________________.\n";
$myString .= "********************************************************************************/\n\n";
$module = $_REQUEST['entity'];
$recordid = $_REQUEST['entityid'];
$vtlog->logthis("the module is ".$module,'debug');
$vtlog->logthis("the template being used has id ".$recordid,'debug');
//get the module
if($module == 'leads')
{
$focus = new Lead();
}
else
{
$focus = new Contact();
}
$focus->retrieve_entity_info($recordid,$module);
//$focus->column_fields();
$i=0;
$m=0;
$n=0;
$myString;
//storing the columnname and the value pairs
foreach ($focus->column_fields as $columnName=>$value)
{
$myString .= "$" .$module ."_" .$columnName.' = "'. $value."\";\n\n";
$colName[$i] = $columnName;
$i++;
$j=$i;
}
global $current_user;
global $adb;
$query = 'select * from users where id= '.$current_user->id;
$result = $adb->query($query);
$res_row = $adb->fetchByAssoc($result);
foreach ($res_row as $columnName=>$value)
{
$myString .='$users_' .$columnName.' = "'. $value."\";\n\n";
$usercolName[$n] = $columnName;
$n++;
$m=$n;
}
$myString .= "\$globals = \"";
for($i=0;$i<$j-1;$i++)
{
$myString .= "\\$" .$module ."_" .$colName[$i].", ";
}
for($n=0;$n<$m;$n++)
{
$myString .= '\\$users_' .$usercolName[$n].", ";
}
$myString .= "\\$" .$module ."_" .$colName[$i];
$myString .="\"; \n\n";
$myString .= "?> \n";
$vtlog->logthis("the string in totality is ".$myString,'debug');
if ($is_writable && ($config_file = @ fopen($root_directory.'/modules/Emails/templates/testemailtemplateusage.php', "w")))
{
$vtlog->logthis("writing to the testemailtemplatuseage.php file",'debug');
fputs($config_file, $myString, strlen($myString));
fclose($config_file);
}
$templatename = $root_directory.'/modules/Emails/templates/'.$_REQUEST["templatename"];
header("Location:index.php?module=Users&action=TemplateMerge&templatename=".$templatename);
?>
<script>
window.close()
</script>