示例#1
0
function changeBlogLogo($blogid, $file)
{
    $context = Model_Context::getInstance();
    $skin = new Skin($context->getProperty('skin.skin'));
    requireModel('blog.attachment');
    if (($attachment = addAttachment($blogid, -1, $file)) === false) {
        return false;
    }
    if (strncmp($attachment['mime'], 'image/', 6) != 0) {
        deleteAttachment($blogid, -1, $attachment['name']);
        return false;
    }
    if (Setting::setBlogSettingGlobal('logo', $attachment['name'])) {
        deleteAttachment($blogid, -1, $context->getProperty('blog.logo'));
        $skin->purgeCache();
        return true;
    }
    return false;
}
示例#2
0
/**	Function to set all the Mailer properties
  *	$mail 		-- reference of the mail object
  *	$subject	-- subject of the email you want to send
  *	$contents	-- body of the email you want to send
  *	$from_email	-- from email id which will be displayed in the mail
  *	$from_name	-- from name which will be displayed in the mail
  *	$to_email 	-- to email address  -- This can be an email in a single string, a comma separated
  *			   list of emails or an array of email addresses
  *	$attachment	-- whether we want to attach the currently selected file or all vtiger_files.
  				[values = current,all] - optional
  *	$emailid	-- id of the email object which will be used to get the vtiger_attachments - optional
  */
function setMailerProperties($mail, $subject, $contents, $from_email, $from_name, $to_email, $attachment = '', $emailid = '', $module = '', $logo = '')
{
    global $adb;
    $adb->println("Inside the function setMailerProperties");
    if ($module == "Support" || $logo == 1) {
        $mail->AddEmbeddedImage('themes/images/logo_mail.jpg', 'logo', 'logo.jpg', "base64", "image/jpg");
    }
    $mail->Subject = $subject;
    $mail->Body = $contents;
    //$mail->Body = html_entity_decode(nl2br($contents));	//if we get html tags in mail then we will use this line
    $mail->AltBody = strip_tags(preg_replace(array("/<p>/i", "/<br>/i", "/<br \\/>/i"), array("\n", "\n", "\n"), $contents));
    $mail->IsSMTP();
    //set mailer to use SMTP
    //$mail->Host = "smtp1.example.com;smtp2.example.com";  // specify main and backup server
    setMailServerProperties($mail);
    //Handle the from name and email for HelpDesk
    $mail->From = $from_email;
    $rs = $adb->pquery("select first_name,last_name from vtiger_users where user_name=?", array($from_name));
    if ($adb->num_rows($rs) > 0) {
        $from_name = $adb->query_result($rs, 0, "first_name") . " " . $adb->query_result($rs, 0, "last_name");
    }
    $mail->FromName = decode_html($from_name);
    if ($to_email != '') {
        if (is_array($to_email)) {
            for ($j = 0, $num = count($to_email); $j < $num; $j++) {
                $mail->addAddress($to_email[$j]);
            }
        } else {
            $_tmp = explode(",", $to_email);
            for ($j = 0, $num = count($_tmp); $j < $num; $j++) {
                $mail->addAddress($_tmp[$j]);
            }
        }
    }
    $mail->AddReplyTo($from_email);
    $mail->WordWrap = 50;
    //If we want to add the currently selected file only then we will use the following function
    if ($attachment == 'current' && $emailid != '') {
        if (isset($_REQUEST['filename_hidden'])) {
            $file_name = $_REQUEST['filename_hidden'];
        } else {
            $file_name = $_FILES['filename']['name'];
        }
        addAttachment($mail, $file_name, $emailid);
    }
    //This will add all the vtiger_files which are related to this record or email
    if ($attachment == 'all' && $emailid != '') {
        addAllAttachments($mail, $emailid);
    }
    $mail->IsHTML(true);
    // set email format to HTML
    return;
}
示例#3
0
    $file = array_pop($_FILES);
    if (getAttachmentByLabel($blogid, $suri['id'], Path::getBaseName($file['name']))) {
        print 'alert("' . _t('동일한 이름을 가진 파일이 이미 첨부되었습니다.') . '");';
        ?>

				for( i=0; i<oSelect.options.length; i++) {
					if(oSelect.options[i].value == "<?php 
        echo escapeJSInCData($_POST['fileName']);
        ?>
") {
						oSelect.remove(i);
					}
				}
<?php 
    } else {
        if (($attachment = addAttachment($blogid, $suri['id'], $file)) === false) {
            print 'alert("' . _t('첨부하지 못했습니다.') . '");';
            ?>
				
				for( i=0; i<oSelect.options.length; i++) {
					if(oSelect.options[i].value == "<?php 
            echo escapeJSInCData($_POST['fileName']);
            ?>
") {
						oSelect.remove(i);
					}
				}
<?php 
        } else {
            ?>
				
示例#4
0
/**	Function to set all the Mailer properties
  *	$mail 		-- reference of the mail object
  *	$subject	-- subject of the email you want to send
  *	$contents	-- body of the email you want to send
  *	$from_email	-- from email id which will be displayed in the mail
  *	$from_name	-- from name which will be displayed in the mail
  *	$to_email 	-- to email address  -- This can be an email in a single string, a comma separated
  *			   list of emails or an array of email addresses
  *	$attachment	-- whether we want to attach the currently selected file or all vtiger_files.
  				[values = current,all] - optional
  *	$emailid	-- id of the email object which will be used to get the vtiger_attachments - optional
  */
function setMailerProperties($mail, $subject, $contents, $from_email, $from_name, $to_email, $attachment = '', $emailid = '', $module = '', $logo = '')
{
    $adb = PearDatabase::getInstance();
    $adb->println("Inside the function setMailerProperties");
    $CompanyDetails = getCompanyDetails();
    $logourl = 'storage/Logo/' . $CompanyDetails['logoname'];
    if ($logo == 1) {
        $image = getimagesize($logourl);
        $mail->AddEmbeddedImage($logourl, 'logo', $CompanyDetails['logoname'], "base64", $image['mime']);
    }
    $mail->Subject = $subject;
    //Added back as we have changed php mailer library, older library was using html_entity_decode before sending mail
    $mail->Body = decode_html($contents);
    //$mail->Body = html_entity_decode(nl2br($contents));	//if we get html tags in mail then we will use this line
    $mail->AltBody = strip_tags(preg_replace(array("/<p>/i", "/<br>/i", "/<br \\/>/i"), array("\n", "\n", "\n"), $contents));
    $mail->IsSMTP();
    //set mailer to use SMTP
    //$mail->Host = "smtp1.example.com;smtp2.example.com";  // specify main and backup server
    setMailServerProperties($mail);
    //Handle the from name and email for HelpDesk
    $mail->From = $from_email;
    $userFullName = trim(VTCacheUtils::getUserFullName($from_name));
    if (empty($userFullName)) {
        $rs = $adb->pquery("select first_name,last_name from vtiger_users where user_name=?", array($from_name));
        $num_rows = $adb->num_rows($rs);
        if ($num_rows > 0) {
            $fullName = getFullNameFromQResult($rs, 0, 'Users');
            VTCacheUtils::setUserFullName($from_name, $fullName);
        }
    } else {
        $from_name = $userFullName;
    }
    $mail->FromName = decode_html($from_name);
    if ($to_email != '') {
        if (is_array($to_email)) {
            for ($j = 0, $num = count($to_email); $j < $num; $j++) {
                $mail->addAddress($to_email[$j]);
            }
        } else {
            $_tmp = explode(",", $to_email);
            for ($j = 0, $num = count($_tmp); $j < $num; $j++) {
                $mail->addAddress($_tmp[$j]);
            }
        }
    }
    //commented so that it does not add from_email in reply to
    //$mail->AddReplyTo($from_email);
    $mail->WordWrap = 50;
    //If we want to add the currently selected file only then we will use the following function
    if ($attachment == 'current' && $emailid != '') {
        if (isset($_REQUEST['filename_hidden'])) {
            $file_name = $_REQUEST['filename_hidden'];
        } else {
            $file_name = $_FILES['filename']['name'];
        }
        addAttachment($mail, $file_name, $emailid);
    }
    //This will add all the vtiger_files which are related to this record or email
    if ($attachment == 'all' && $emailid != '') {
        addAllAttachments($mail, $emailid);
    }
    $mail->IsHTML(true);
    // set email format to HTML
    return;
}
示例#5
0
<?php

/// Copyright (c) 2004-2016, Needlworks  / Tatter Network Foundation
/// All rights reserved. Licensed under the GPL.
/// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT)
$IV = array('FILES' => array('Filedata' => array('file')), 'GET' => array('TSSESSION' => array('string', 'default' => null)));
if (!empty($_GET['TSSESSION'])) {
    $_COOKIE['TSSESSION'] = $_GET['TSSESSION'];
}
require ROOT . '/library/preprocessor.php';
importlib("model.blog.attachment");
$context = Model_Context::getInstance();
$file = array_pop($_FILES);
$attachment = addAttachment($context->getProperty('blog.id'), $context->getProperty('suri.id'), $file);
echo "&success";
示例#6
0
文件: index.php 项目: ragi79/Textcube
<?php

/// Copyright (c) 2004-2012, Needlworks  / Tatter Network Foundation
/// All rights reserved. Licensed under the GPL.
/// See the GNU General Public License for more details. (/documents/LICENSE, /documents/COPYRIGHT)
$IV = array('FILES' => array('Filedata' => array('file')), 'GET' => array('TSSESSION' => array('string', 'default' => null)));
if (!empty($_GET['TSSESSION'])) {
    $_COOKIE['TSSESSION'] = $_GET['TSSESSION'];
}
require ROOT . '/library/preprocessor.php';
requireModel("blog.attachment");
$file = array_pop($_FILES);
$attachment = addAttachment($blogid, $suri['id'], $file);
echo "&success";
/**	Function to set all the Mailer properties
  *	$mail 		-- reference of the mail object
  *	$subject	-- subject of the email you want to send
  *	$contents	-- body of the email you want to send
  *	$from_email	-- from email id which will be displayed in the mail
  *	$from_name	-- from name which will be displayed in the mail
  *	$to_email 	-- to email address  -- This can be an email in a single string, a comma separated
  *			   list of emails or an array of email addresses
  *	$attachment	-- whether we want to attach the currently selected file or all vtiger_files.
  				[values = current,all] - optional
  *	$emailid	-- id of the email object which will be used to get the vtiger_attachments - optional
  */
function setMailerProperties($mail, $subject, $contents, $from_email, $from_name, $to_email, $attachment = '', $emailid = '', $module = '', $logo = '')
{
    global $adb;
    $adb->println("Inside the function setMailerProperties");
    if ($module == "Support" || $logo == 1) {
        $mail->AddEmbeddedImage('layouts/vlayout/skins/images/logo_mail.jpg', 'logo', 'logo.jpg', "base64", "image/jpg");
    }
    // SalesPlatform.ru begin
    $mail->Timeout = 20;
    // SalesPlatform.ru end
    $mail->Subject = $subject;
    //Added back as we have changed php mailer library, older library was using html_entity_decode before sending mail
    $mail->Body = decode_html($contents);
    //$mail->Body = html_entity_decode(nl2br($contents));	//if we get html tags in mail then we will use this line
    $mail->AltBody = strip_tags(preg_replace(array("/<p>/i", "/<br>/i", "/<br \\/>/i"), array("\n", "\n", "\n"), $contents));
    // SalesPlatform.ru begin
    $query = "select * from vtiger_systems where server_type=?";
    $params = array('email');
    $result = $adb->pquery($query, $params);
    if (isset($_REQUEST['use_sendmail'])) {
        $use_sendmail = $_REQUEST['use_sendmail'];
        if ($use_sendmail == 'on') {
            $use_sendmail = 'true';
        }
    } else {
        if (isset($_REQUEST['module']) && $_REQUEST['module'] == 'Settings' && !isset($_REQUEST['use_sendmail'])) {
            //added to avoid issue while editing the values in the outgoing mail server.
            $use_sendmail = 'false';
        } else {
            $use_sendmail = $adb->query_result($result, 0, 'use_sendmail');
        }
    }
    if ($use_sendmail == "true" || $use_sendmail == "on") {
        $mail->IsSendmail();
    } else {
        $mail->IsSMTP();
    }
    //	$mail->IsSMTP();		//set mailer to use SMTP
    // SalesPlatform.ru end
    //$mail->Host = "smtp1.example.com;smtp2.example.com";  // specify main and backup server
    setMailServerProperties($mail);
    // SalesPlatform.ru begin
    $idn = new idna_convert();
    // SalesPlatform.ru end
    //Handle the from name and email for HelpDesk
    // SalesPlatform.ru begin
    $mail->From = $idn->encode($from_email);
    $from_name_db = $adb->query_result($result, 0, 'from_name');
    if (isset($from_name_db) && $from_name_db != '') {
        //setting from _email to the defined email address in the outgoing server configuration
        $from_name = $from_name_db;
    } else {
        $rs = $adb->pquery("select first_name,last_name from vtiger_users where user_name=?", array($from_name));
        $num_rows = $adb->num_rows($rs);
        if ($num_rows > 0) {
            $from_name = getFullNameFromQResult($rs, 0, 'Users');
        }
    }
    // SalesPlatform.ru end
    $mail->From = $from_email;
    $userFullName = trim(VTCacheUtils::getUserFullName($from_name));
    if (empty($userFullName)) {
        $rs = $adb->pquery("select first_name,last_name from vtiger_users where user_name=?", array($from_name));
        $num_rows = $adb->num_rows($rs);
        if ($num_rows > 0) {
            $fullName = getFullNameFromQResult($rs, 0, 'Users');
            VTCacheUtils::setUserFullName($from_name, $fullName);
        }
    } else {
        $from_name = $userFullName;
    }
    $mail->FromName = decode_html($from_name);
    if ($to_email != '') {
        if (is_array($to_email)) {
            for ($j = 0, $num = count($to_email); $j < $num; $j++) {
                // SalesPlatform.ru begin
                $mail->addAddress($idn->encode($to_email[$j]));
                //				$mail->addAddress($to_email[$j]);
                // SalesPlatform.ru end
            }
        } else {
            $_tmp = explode(",", $to_email);
            for ($j = 0, $num = count($_tmp); $j < $num; $j++) {
                // SalesPlatform.ru begin
                $mail->addAddress($idn->encode($_tmp[$j]));
                //				$mail->addAddress($_tmp[$j]);
                // SalesPlatform.ru end
            }
        }
    }
    //commented so that it does not add from_email in reply to
    //$mail->AddReplyTo($from_email);
    $mail->WordWrap = 50;
    //If we want to add the currently selected file only then we will use the following function
    if ($attachment == 'current' && $emailid != '') {
        if (isset($_REQUEST['filename_hidden'])) {
            $file_name = $_REQUEST['filename_hidden'];
        } else {
            $file_name = $_FILES['filename']['name'];
        }
        addAttachment($mail, $file_name, $emailid);
    }
    //This will add all the vtiger_files which are related to this record or email
    if ($attachment == 'all' && $emailid != '') {
        addAllAttachments($mail, $emailid);
    }
    // SalesPlatform.ru begin
    // Support for plain filename attachments
    if ($attachment != '' && $attachment != 'current' && $attachment != 'all') {
        addAttachment($mail, $attachment, $emailid);
    }
    // SalesPlatform.ru end
    $mail->IsHTML(true);
    // set email format to HTML
    return;
}