Вход Регистрация
Файл: oc-includes/osclass/emails.php
Строк: 1204
<?php if ( ! defined('ABS_PATH')) exit('ABS_PATH is not loaded. Direct access is not allowed.');

/*
 * Copyright 2014 Osclass
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

    
function fn_email_alert_validation($alert, $email, $secret) {
        
$user['s_name'] = "";

        
// send alert validation email
        
$prefLocale = osc_language();
        
$page = Page::newInstance()->findByInternalName('email_alert_validation');
        
$page_description = $page['locale'];

        
$_title = osc_apply_filter('email_title', osc_apply_filter('email_alert_validation_title', $page_description[$prefLocale]['s_title'], $alert, $email, $secret));
        
$_body  = osc_apply_filter('email_description', osc_apply_filter('email_alert_validation_description', $page_description[$prefLocale]['s_text'], $alert, $email, $secret));

        
$validation_link = osc_user_activate_alert_url( $alert['pk_i_id'], $secret, $email );

        
$words   = array();
        
$words[] = array(
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{VALIDATION_LINK}'
        
);
        
$words[] = array(
            
$user['s_name'],
            
$email,
            
$validation_link
        
);
        
$title = osc_apply_filter('email_alert_validation_title_after', osc_mailBeauty($_title, $words), $alert, $email, $secret);
        
$body  = osc_apply_filter('email_alert_validation_description_after', osc_mailBeauty($_body , $words), $alert, $email, $secret);

        
$params = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $email,
            
'to_name'  => $user['s_name'],
            
'body'     => $body,
            
'alt_body' => $body
        
);

        
osc_sendMail($params);
    }
    
osc_add_hook('hook_email_alert_validation', 'fn_email_alert_validation');

    function 
fn_alert_email_hourly($user, $ads, $s_search, $items, $totalItems) {
        
$prefLocale = osc_language();
        
$page = Page::newInstance()->findByInternalName('alert_email_hourly');
        
$page_description = $page['locale'];

        
$_title = osc_apply_filter('email_title', osc_apply_filter('alert_email_hourly_title', $page_description[$prefLocale]['s_title'], $user, $ads, $s_search, $items, $totalItems));
        
$_body  = osc_apply_filter('email_description', osc_apply_filter('alert_email_hourly_description', $page_description[$prefLocale]['s_text'], $user, $ads, $s_search, $items, $totalItems));

        if( 
$user['fk_i_user_id'] != 0 ) {
            
$user = User::newInstance()->findByPrimaryKey($user['fk_i_user_id']);
        } else {
            
$user['s_name'] = $user['s_email'];
        }

        
$unsub_link = osc_user_unsubscribe_alert_url($s_search['pk_i_id'], $user['s_email'], $s_search['s_secret']);
        
$unsub_link = '<a href="' . $unsub_link . '">' . __('unsubscribe alert') . '</a>';

        
$words   = array();
        
$words[] = array(
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ADS}',
            
'{UNSUB_LINK}'
        
);
        
$words[] = array(
            
$user['s_name'],
            
$user['s_email'],
            
$ads,
            
$unsub_link
        
);
        
$title = osc_apply_filter('alert_email_hourly_title_after', osc_mailBeauty($_title, $words), $user, $ads, $s_search, $items, $totalItems);
        
$body  = osc_apply_filter('alert_email_hourly_description_after', osc_mailBeauty($_body, $words), $user, $ads, $s_search, $items, $totalItems);

        
$params = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $user['s_email'],
            
'to_name'  => $user['s_name'],
            
'body'     => $body,
            
'alt_body' => $body
        
);

        
osc_sendMail($params);
    }
    
osc_add_hook('hook_alert_email_hourly', 'fn_alert_email_hourly');

    function 
fn_alert_email_daily($user, $ads, $s_search, $items, $totalItems) {
        
$prefLocale = osc_language();
        
$page = Page::newInstance()->findByInternalName('alert_email_daily');
        
$page_description = $page['locale'];

        
$_title = osc_apply_filter('email_title', osc_apply_filter('alert_email_daily_title', $page_description[$prefLocale]['s_title'], $user, $ads, $s_search, $items, $totalItems));
        
$_body  = osc_apply_filter('email_description', osc_apply_filter('alert_email_daily_description', $page_description[$prefLocale]['s_text'], $user, $ads, $s_search, $items, $totalItems));

        if( 
$user['fk_i_user_id'] != 0 ) {
            
$user = User::newInstance()->findByPrimaryKey($user['fk_i_user_id']);
        } else {
            
$user['s_name'] = $user['s_email'];
        }

        
$unsub_link = osc_user_unsubscribe_alert_url($s_search['pk_i_id'], $user['s_email'], $s_search['s_secret']);
        
$unsub_link = '<a href="' . $unsub_link . '">' . __('unsubscribe alert') . '</a>';

        
$words   = array();
        
$words[] = array(
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ADS}',
            
'{UNSUB_LINK}'
        
);
        
$words[] = array(
            
$user['s_name'],
            
$user['s_email'],
            
$ads,
            
$unsub_link
        
);
        
$title = osc_apply_filter('alert_email_daily_title_after', osc_mailBeauty($_title, $words), $user, $ads, $s_search, $items, $totalItems);
        
$body  = osc_apply_filter('alert_email_daily_description_after', osc_mailBeauty($_body, $words), $user, $ads, $s_search, $items, $totalItems);

        
$params = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $user['s_email'],
            
'to_name'  => $user['s_name'],
            
'body'     => $body,
            
'alt_body' => $body
        
);

        
osc_sendMail($params);
    }
    
osc_add_hook('hook_alert_email_daily', 'fn_alert_email_daily');

    function 
fn_alert_email_weekly($user, $ads, $s_search, $items, $totalItems) {
        
$prefLocale = osc_language();
        
$page = Page::newInstance()->findByInternalName('alert_email_weekly');
        
$page_description = $page['locale'];

        
$_title = osc_apply_filter('email_title', osc_apply_filter('alert_email_weekly_title', $page_description[$prefLocale]['s_title'], $user, $ads, $s_search, $items, $totalItems));
        
$_body  = osc_apply_filter('email_description', osc_apply_filter('alert_email_weekly_description', $page_description[$prefLocale]['s_text'], $user, $ads, $s_search, $items, $totalItems));

        if( 
$user['fk_i_user_id'] != 0 ) {
            
$user = User::newInstance()->findByPrimaryKey($user['fk_i_user_id']);
        } else {
            
$user['s_name'] = $user['s_email'];
        }

        
$unsub_link = osc_user_unsubscribe_alert_url($s_search['pk_i_id'], $user['s_email'], $s_search['s_secret']);
        
$unsub_link = '<a href="' . $unsub_link . '">' . __('unsubscribe alert') . '</a>';

        
$words   = array();
        
$words[] = array(
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ADS}',
            
'{UNSUB_LINK}'
        
);
        
$words[] = array(
            
$user['s_name'],
            
$user['s_email'],
            
$ads,
            
$unsub_link
        
);
        
$title = osc_apply_filter('alert_email_weekly_title_after', osc_mailBeauty($_title, $words), $user, $ads, $s_search, $items, $totalItems);
        
$body  = osc_apply_filter('alert_email_weekly_description_after', osc_mailBeauty($_body, $words), $user, $ads, $s_search, $items, $totalItems);

        
$params = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $user['s_email'],
            
'to_name'  => $user['s_name'],
            
'body'     => $body,
            
'alt_body' => $body
        
);

        
osc_sendMail($params);
    }
    
osc_add_hook('hook_alert_email_weekly', 'fn_alert_email_weekly');

    function 
fn_alert_email_instant($user, $ads, $s_search, $items, $totalItems) {
        
$prefLocale = osc_language();
        
$page = Page::newInstance()->findByInternalName('alert_email_instant');
        
$page_description = $page['locale'];

        
$_title = osc_apply_filter('email_title', osc_apply_filter('alert_email_instant_title', $page_description[$prefLocale]['s_title'], $user, $ads, $s_search, $items, $totalItems, $items, $totalItems));
        
$_body  = osc_apply_filter('email_description', osc_apply_filter('alert_email_instant_description', $page_description[$prefLocale]['s_text'], $user, $ads, $s_search, $items, $totalItems, $items, $totalItems));

        if( 
$user['fk_i_user_id'] != 0 ) {
            
$user = User::newInstance()->findByPrimaryKey($user['fk_i_user_id']);
        } else {
            
$user['s_name'] = $user['s_email'];
        }

        
$unsub_link = osc_user_unsubscribe_alert_url($s_search['pk_i_id'], $user['s_email'], $s_search['s_secret']);
        
$unsub_link = '<a href="' . $unsub_link . '">' . __('unsubscribe alert') . '</a>';

        
$words   = array();
        
$words[] = array(
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ADS}',
            
'{UNSUB_LINK}'
        
);
        
$words[] = array(
            
$user['s_name'],
            
$user['s_email'],
            
$ads,
            
$unsub_link
        
);
        
$title = osc_apply_filter('alert_email_instant_title_after', osc_mailBeauty($_title, $words), $user, $ads, $s_search, $items, $totalItems);
        
$body  = osc_apply_filter('alert_email_instant_description_after', osc_mailBeauty($_body, $words), $user, $ads, $s_search, $items, $totalItems);

        
$params = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $user['s_email'],
            
'to_name'  => $user['s_name'],
            
'body'     => $body,
            
'alt_body' => $body
        
);

        
osc_sendMail($params);
    }
    
osc_add_hook('hook_alert_email_instant', 'fn_alert_email_instant');

    function 
fn_email_comment_validated($aComment) {
        
$mPages = new Page();
        
$locale = osc_current_user_locale();
        
$aPage = $mPages->findByInternalName('email_comment_validated');

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        if (!
is_null($content)) {
            
$words   = array();
            
$words[] = array(
                
'{COMMENT_AUTHOR}',
                
'{COMMENT_EMAIL}',
                
'{COMMENT_TITLE}',
                
'{COMMENT_BODY}',
                
'{ITEM_URL}',
                
'{ITEM_LINK}',
                
'{ITEM_TITLE}'
            
);
            
$words[] = array(
                
$aComment['s_author_name'],
                
$aComment['s_author_email'],
                
$aComment['s_title'],
                
$aComment['s_body'],
                
osc_item_url(),
                
'<a href="' . osc_item_url() . '">' . osc_item_url() . '</a>',
                
osc_item_title()
            );
            
$title = osc_apply_filter('email_comment_validated_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_comment_validated_title', $content['s_title'], $aComment)), $words), $aComment);
            
$body = osc_apply_filter('email_comment_validated_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_comment_validated_description', $content['s_text'], $aComment)), $words), $aComment);

            
$emailParams = array(
                
'subject'  => $title,
                
'from'     => _osc_from_email_aux(),
                
'to'       => $aComment['s_author_email'],
                
'to_name'  => $aComment['s_author_name'],
                
'body'     => $body,
                
'alt_body' => $body
            
);
            
osc_sendMail($emailParams);
        }
    }
    
osc_add_hook('hook_email_comment_validated', 'fn_email_comment_validated');

    function 
fn_email_new_item_non_register_user($item) {
        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_new_item_non_register_user');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$item_url = osc_item_url();
        
$item_url = '<a href="'.$item_url.'" >'.$item_url.'</a>';
        
$edit_url = osc_item_edit_url( $item['s_secret'], $item['pk_i_id'] );
        
$delete_url = osc_item_delete_url( $item['s_secret'],  $item['pk_i_id'] );

        
$words   = array();
        
$words[] = array(
            
'{ITEM_ID}',
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ITEM_TITLE}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}',
            
'{EDIT_LINK}',
            
'{EDIT_URL}',
            
'{DELETE_LINK}',
            
'{DELETE_URL}'
        
);
        
$words[] = array(
            
$item['pk_i_id'],
            
$item['s_contact_name'],
            
$item['s_contact_email'],
            
$item['s_title'],
            
osc_item_url(),
            
$item_url,
            
'<a href="' . $edit_url . '">' . $edit_url . '</a>',
            
$edit_url,
            
'<a href="' . $delete_url . '">' . $delete_url . '</a>',
            
$delete_url
        
);
        
$title   = osc_apply_filter('email_new_item_non_register_user_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_new_item_non_register_user_title', $content['s_title'],$item)), $words),$item);
        
$body    = osc_apply_filter('email_new_item_non_register_user_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_new_item_non_register_user_description', $content['s_text'],$item)), $words),$item);

        
$emailParams = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $item['s_contact_email'],
            
'to_name'  => $item['s_contact_name'],
            
'body'     => $body,
            
'alt_body' => $body
        
);

        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_new_item_non_register_user', 'fn_email_new_item_non_register_user');

    function 
fn_email_user_forgot_password($user, $password_url) {
        
$aPage = Page::newInstance()->findByInternalName('email_user_forgot_password');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        if (!
is_null($content)) {
            
$words   = array();
            
$words[] = array(
                
'{USER_NAME}',
                
'{USER_EMAIL}',
                
'{PASSWORD_LINK}',
                
'{PASSWORD_URL}',
                
'{DATE_TIME}'
            
);
            
$words[] = array(
                
$user['s_name'],
                
$user['s_email'],
                
'<a href="' . $password_url . '">' . $password_url . '</a>',
                
$password_url,
                
date(osc_date_format()?osc_date_format():'Y-m-d').' '.date(osc_time_format()?osc_time_format():'H:i:00')
            );
            
$title = osc_apply_filter('email_user_forgot_pass_word_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_user_forgot_pass_word_title', $content['s_title'], $user, $password_url)), $words), $user, $password_url);
            
$body = osc_apply_filter('email_user_forgot_password_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_user_forgot_password_description', $content['s_text'], $user, $password_url)), $words), $user, $password_url);

            
$emailParams = array(
                
'subject'  => $title,
                
'from'     => _osc_from_email_aux(),
                
'to'       => $user['s_email'],
                
'to_name'  => $user['s_name'],
                
'body'     => $body,
                
'alt_body' => $body
            
);

            
osc_sendMail($emailParams);
        }
    }
    
osc_add_hook('hook_email_user_forgot_password', 'fn_email_user_forgot_password');

    function 
fn_email_user_registration($user) {
        
$pageManager = new Page();
        
$locale = osc_current_user_locale();
        
$aPage = $pageManager->findByInternalName('email_user_registration');

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        if (!
is_null($content)) {
            
$words   = array();
            
$words[] = array(
                
'{USER_NAME}',
                
'{USER_EMAIL}'
            
);
            
$words[] = array(
                
$user['s_name'],
                
$user['s_email']
            );
            
$title = osc_apply_filter('email_user_registration_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_user_registration_title', $content['s_title'], $user)), $words), $user);
            
$body  = osc_apply_filter('email_user_registration_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_user_registration_description', $content['s_text'], $user)), $words), $user);

            
$emailParams = array(
                
'subject'  => $title,
                
'from'     => _osc_from_email_aux(),
                
'to'       => $user['s_email'],
                
'to_name'  => $user['s_name'],
                
'body'     => $body,
                
'alt_body' => $body
            
);

            
osc_sendMail($emailParams);
        }
    }
    
osc_add_hook('hook_email_user_registration', 'fn_email_user_registration');

    function 
fn_email_new_email($new_email, $validation_url) {
        
$locale = osc_current_user_locale();
        
$aPage = Page::newInstance()->findByInternalName('email_new_email');

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        if (!
is_null($content)) {
            
$words   = array();
            
$words[] = array(
                
'{USER_NAME}',
                
'{USER_EMAIL}',
                
'{VALIDATION_LINK}',
                
'{VALIDATION_URL}'
            
);
            
$words[] = array(
                
Session::newInstance()->_get('userName'),
                
Params::getParam('new_email'),
                
'<a href="' . $validation_url . '" >' . $validation_url . '</a>',
                
$validation_url
            
);
            
$title = osc_apply_filter('email_new_email_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_new_email_title', $content['s_title'], $new_email, $validation_url)), $words), $new_email, $validation_url);
            
$body = osc_apply_filter('email_new_email_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_new_email_description', $content['s_text'], $new_email, $validation_url)), $words), $new_email, $validation_url);

            
$params = array(
                
'subject'  => $title,
                
'from'     => _osc_from_email_aux(),
                
'to'       => $new_email,
                
'to_name'  => Session::newInstance()->_get('userName'),
                
'body'     => $body,
                
'alt_body' => $body
            
);
            
osc_sendMail($params);
            
osc_add_flash_ok_message( _m("We've sent you an e-mail. Follow its instructions to validate the changes"));
        } else {
            
osc_add_flash_error_message( _m("We tried to sent you an e-mail, but it failed. Please, contact an administrator"));
        }
    }
    
osc_add_hook('hook_email_new_email', 'fn_email_new_email');

    function 
fn_email_user_validation($user, $input) {
        
$mPages = new Page();
        
$locale = osc_current_user_locale();
        
$aPage = $mPages->findByInternalName('email_user_validation');

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        if (!
is_null($content)) {
            
$validation_url = osc_user_activate_url($user['pk_i_id'], $input['s_secret']);
            
$words   = array();
            
$words[] = array(
                
'{USER_NAME}',
                
'{USER_EMAIL}',
                
'{VALIDATION_LINK}',
                
'{VALIDATION_URL}'
            
);
            
$words[] = array(
                
$user['s_name'],
                
$user['s_email'],
                
'<a href="' . $validation_url . '" >' . $validation_url . '</a>',
                
$validation_url
            
);
            
$title = osc_apply_filter('email_user_validation_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_user_validation_title', $content['s_title'], $user, $input)), $words), $user, $input);
            
$body = osc_apply_filter('email_user_validation_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_user_validation_description', $content['s_text'], $user, $input)), $words), $user, $input);

            
$emailParams = array(
                
'subject'  => $title,
                
'from'     => _osc_from_email_aux(),
                
'to'       => $user['s_email'],
                
'to_name'  => $user['s_name'],
                
'body'     => $body,
                
'alt_body' => $body
            
);
            
osc_sendMail($emailParams);
        }
    }
    
osc_add_hook('hook_email_user_validation', 'fn_email_user_validation');

    function 
fn_email_send_friend($aItem) {
        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_send_friend');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$item_url = osc_item_url();
        
$item_url = '<a href="'.$item_url.'" >'.$item_url.'</a>';

        
$words   = array();
        
$words[] = array(
            
'{FRIEND_NAME}',
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{FRIEND_EMAIL}',
            
'{ITEM_TITLE}',
            
'{COMMENT}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}'
        
);
        
$words[] = array(
            
$aItem['friendName'],
            
$aItem['yourName'],
            
$aItem['yourEmail'],
            
$aItem['friendEmail'],
            
$aItem['s_title'],
            
$aItem['message'],
            
osc_item_url(),
            
$item_url
        
);

        
$title = osc_apply_filter('email_send_friend_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_send_friend_title', $content['s_title'], $aItem)), $words), $aItem);
        
$body  = osc_apply_filter('email_send_friend_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_send_friend_description', $content['s_text'], $aItem)), $words), $aItem);

        
$params = array(
            
'from'      => osc_contact_email(),
            
'from_name' => osc_page_title(),
            
'reply_to'  => $aItem['yourEmail'],
            
'subject'   => $title,
            
'to'        => $aItem['friendEmail'],
            
'to_name'   => $aItem['friendName'],
            
'body'      => $body
        
);

        if( 
osc_notify_contact_friends() ) {
            
$params['add_bcc'] = osc_contact_email();
        }

        
osc_sendMail($params);
    }
    
osc_add_hook('hook_email_send_friend', 'fn_email_send_friend');

    function 
fn_email_item_inquiry($aItem) {
        
$id         = $aItem['id'];
        
$yourEmail  = $aItem['yourEmail'];
        
$yourName   = $aItem['yourName'];
        
$phoneNumber= $aItem['phoneNumber'];
        
$message    = nl2br( strip_tags( $aItem['message'] ) );

        
$path = null;
        
$item = Item::newInstance()->findByPrimaryKey( $id );
        
View::newInstance()->_exportVariableToView('item', $item);

        
$mPages = new Page();
        
$aPage  = $mPages->findByInternalName('email_item_inquiry');
        
$locale = osc_current_user_locale();

        if( isset(
$aPage['locale'][$locale]['s_title']) ) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$item_url = osc_item_url();
        
$item_link = '<a href="' . $item_url . '" >' . $item_url . '</a>';

        
$words   = array();
        
$words[] = array(
            
'{CONTACT_NAME}',
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{USER_PHONE}',
            
'{ITEM_TITLE}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}',
            
'{COMMENT}'
        
);

        
$words[] = array(
            
$item['s_contact_name'],
            
$yourName,
            
$yourEmail,
            
$phoneNumber,
            
$item['s_title'],
            
$item_url,
            
$item_link,
            
$message
        
);

        
$title = osc_apply_filter('email_item_inquiry_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_item_inquiry_title', $content['s_title'], $aItem)), $words), $aItem);
        
$body  = osc_apply_filter('email_item_inquiry_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_item_inquiry_description', $content['s_text'], $aItem)), $words), $aItem);

        
$from      = osc_contact_email();
        
$from_name = osc_page_title();

        
$emailParams = array(
            
'from'      => $from,
            
'from_name' => $from_name,
            
'subject'   => $title,
            
'to'        => $item['s_contact_email'],
            
'to_name'   => $item['s_contact_name'],
            
'body'      => $body,
            
'alt_body'  => $body,
            
'reply_to'  => $yourEmail
        
);

        if( 
osc_notify_contact_item() ) {
            
$emailParams['add_bcc'] = osc_contact_email();
        }

        if( 
osc_item_attachment() ) {
            
$attachment   = Params::getFiles('attachment');
            
$resourceName = $attachment['name'];
            
$tmpName      = $attachment['tmp_name'];
            
$path         = osc_uploads_path() . time() . '_' . $resourceName;

            if( !
is_writable(osc_uploads_path()) ) {
                
osc_add_flash_error_message( _m('There has been some errors sending the message') );
            }

            if( !
move_uploaded_file($tmpName, $path) ) {
                unset(
$path);
            }
        }

        if( isset(
$path) ) {
            
$emailParams['attachment'] = $path;
        }

        
osc_sendMail($emailParams);

        @
unlink($path);
    }
    
osc_add_hook('hook_email_item_inquiry', 'fn_email_item_inquiry');

    function 
fn_email_new_comment_admin($aItem) {
        
$authorName  = trim(strip_tags($aItem['authorName']));
        
$authorEmail = trim(strip_tags($aItem['authorEmail']));
        
$body        = trim($aItem['body']);
        
// only n -> <br/>
        
$body        = nl2br(strip_tags($body));
        
$title       = $aItem['title'];
        
$itemId      = $aItem['id'];
        
$admin_email = osc_contact_email();

        
$item = Item::newInstance()->findByPrimaryKey($itemId);
        
View::newInstance()->_exportVariableToView('item', $item);
        
$itemURL = osc_item_url();
        
$itemURL = '<a href="'.$itemURL.'" >'.$itemURL.'</a>';

        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_new_comment_admin');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$words   = array();
        
$words[] = array(
            
'{COMMENT_AUTHOR}',
            
'{COMMENT_EMAIL}',
            
'{COMMENT_TITLE}',
            
'{COMMENT_TEXT}',
            
'{ITEM_TITLE}',
            
'{ITEM_ID}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}'
        
);
        
$words[] = array(
            
$authorName,
            
$authorEmail,
            
$title,
            
$body,
            
$item['s_title'],
            
$itemId,
            
osc_item_url(),
            
$itemURL
        
);
        
$title_email = osc_apply_filter('email_new_comment_admin_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_new_comment_admin_title', $content['s_title'], $aItem)), $words), $aItem);
        
$body_email = osc_apply_filter('email_new_comment_admin_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_new_comment_admin_description', $content['s_text'], $aItem)), $words), $aItem);

        
$emailParams = array(
            
'from'      => osc_contact_email(),
            
'to'        => $admin_email,
            
'to_name'   => __('Admin mail system'),
            
'subject'   => $title_email,
            
'body'      => $body_email,
            
'alt_body'  => $body_email
        
);
        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_new_comment_admin', 'fn_email_new_comment_admin');

    function 
fn_email_item_validation($item) {
        
View::newInstance()->_exportVariableToView('item', $item);
        
$contactEmail   = $item['s_contact_email'];
        
$contactName    = $item['s_contact_name'];
        
$mPages = new Page();
        
$locale = osc_current_user_locale();
        
$aPage = $mPages->findByInternalName('email_item_validation');

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$item_url = osc_item_url();
        
$item_link = '<a href="'.$item_url.'" >'.$item_url.'</a>';

        
$all = '';

        if (isset(
$item['locale'])) {
            foreach (
$item['locale'] as $locale => $data) {
                
$locale_name = OSCLocale::newInstance()->findByCode($locale);
                
$all .= '<br/>';
                if (isset(
$locale_name[0]) && isset($locale_name[0]['s_name'])) {
                    
$all .= __('Language') . ': ' . $locale_name[0]['s_name'] . '<br/>';
                } else {
                    
$all .= __('Language') . ': ' . $locale . '<br/>';
                }
                
$all .= __('Title') . ': ' . $data['s_title'] . '<br/>';
                
$all .= __('Description') . ': ' . $data['s_description'] . '<br/>';
                
$all .= '<br/>';
            }
        } else {
            
$all .= __('Title') . ': ' . $item['s_title'] . '<br/>';
            
$all .= __('Description') . ': ' . $item['s_description'] . '<br/>';
        }

        
// Format activation URL
        
$validation_url = osc_item_activate_url( $item['s_secret'], $item['pk_i_id'] );

        
$words   = array();
        
$words[] = array(
            
'{ITEM_DESCRIPTION_ALL_LANGUAGES}',
            
'{ITEM_DESCRIPTION}',
            
'{ITEM_COUNTRY}',
            
'{ITEM_PRICE}',
            
'{ITEM_REGION}',
            
'{ITEM_CITY}',
            
'{ITEM_ID}',
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ITEM_TITLE}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}',
            
'{VALIDATION_LINK}',
            
'{VALIDATION_URL}'
        
);
        
$words[] = array(
            
$all,
            
$item['s_description'],
            
$item['s_country'],
            
osc_format_price($item['i_price']),
            
$item['s_region'],
            
$item['s_city'],
            
$item['pk_i_id'],
            
$item['s_contact_name'],
            
$item['s_contact_email'],
            
$item['s_title'],
            
$item_url,
            
$item_link,
            
'<a href="' . $validation_url . '" >' . $validation_url . '</a>',
            
$validation_url
        
);
        
$title = osc_apply_filter('email_item_validation_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_item_validation_title', $content['s_title'], $item)), $words), $item);
        
$body = osc_apply_filter('email_item_validation_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_item_validation_description', $content['s_text'], $item)), $words), $item);

        
$emailParams =  array (
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $contactEmail,
            
'to_name'  => $contactName,
            
'body'     => $body,
            
'alt_body' => $body
        
);
        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_item_validation', 'fn_email_item_validation');

    function 
fn_email_admin_new_item($item) {
        
View::newInstance()->_exportVariableToView('item', $item);
        
$title  = osc_item_title();
        
$mPages = new Page();
        
$locale = osc_current_user_locale();
        
$aPage = $mPages->findByInternalName('email_admin_new_item');

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$item_url = osc_item_url();
        
$item_link = '<a href="'.$item_url.'" >'.$item_url.'</a>';

        
$all = '';

        if (isset(
$item['locale'])) {
            foreach (
$item['locale'] as $locale => $data) {
                
$locale_name = OSCLocale::newInstance()->findByCode($locale);
                
$all .= '<br/>';
                if (isset(
$locale_name[0]) && isset($locale_name[0]['s_name'])) {
                    
$all .= __('Language') . ': ' . $locale_name[0]['s_name'] . '<br/>';
                } else {
                    
$all .= __('Language') . ': ' . $locale . '<br/>';
                }
                
$all .= __('Title') . ': ' . $data['s_title'] . '<br/>';
                
$all .= __('Description') . ': ' . $data['s_description'] . '<br/>';
                
$all .= '<br/>';
            }
        } else {
            
$all .= __('Title') . ': ' . $item['s_title'] . '<br/>';
            
$all .= __('Description') . ': ' . $item['s_description'] . '<br/>';
        }

        
// Format activation URL
        
$validation_url = osc_item_activate_url( $item['s_secret'], $item['pk_i_id'] );

        
// Format admin edit URL
        
$admin_edit_url =  osc_item_admin_edit_url( $item['pk_i_id'] );

        
$words   = array();
        
$words[] = array(
            
'{EDIT_LINK}',
            
'{EDIT_URL}',
            
'{ITEM_DESCRIPTION_ALL_LANGUAGES}',
            
'{ITEM_DESCRIPTION}',
            
'{ITEM_COUNTRY}',
            
'{ITEM_PRICE}',
            
'{ITEM_REGION}',
            
'{ITEM_CITY}',
            
'{ITEM_ID}',
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ITEM_TITLE}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}',
            
'{VALIDATION_LINK}',
            
'{VALIDATION_URL}'
        
);
        
$words[] = array(
            
'<a href="' . $admin_edit_url . '" >' . $admin_edit_url . '</a>',
            
$admin_edit_url,
            
$all,
            
$item['s_description'],
            
$item['s_country'],
            
osc_format_price($item['i_price']),
            
$item['s_region'],
            
$item['s_city'],
            
$item['pk_i_id'],
            
$item['s_contact_name'],
            
$item['s_contact_email'],
            
$item['s_title'],
            
$item_url,
            
$item_link,
            
'<a href="' . $validation_url . '" >' . $validation_url . '</a>',
            
$validation_url
        
);
        
$title = osc_apply_filter('email_admin_new_item_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_admin_new_item_title', $content['s_title'], $item)), $words), $item);
        
$body  = osc_apply_filter('email_admin_new_item_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_admin_new_item_description', $content['s_text'], $item)), $words), $item);

        
$emailParams = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => osc_contact_email(),
            
'to_name'  => 'admin',
            
'body'     => $body,
            
'alt_body' => $body
        
);
        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_admin_new_item', 'fn_email_admin_new_item');

    function 
fn_email_item_validation_non_register_user($item) {
        
View::newInstance()->_exportVariableToView('item', $item);

        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_item_validation_non_register_user');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$item_url = osc_item_url();
        
$item_link = '<a href="'.$item_url.'" >'.$item_url.'</a>';
        
$edit_url = osc_item_edit_url( $item['s_secret'], $item['pk_i_id'] );
        
$delete_url = osc_item_delete_url( $item['s_secret'],  $item['pk_i_id'] );

        
$all = '';

        if (isset(
$item['locale'])) {
            foreach (
$item['locale'] as $locale => $data) {
                
$locale_name = OSCLocale::newInstance()->findByCode($locale);
                
$all .= '<br/>';
                if (isset(
$locale_name[0]) && isset($locale_name[0]['s_name'])) {
                    
$all .= __('Language') . ': ' . $locale_name[0]['s_name'] . '<br/>';
                } else {
                    
$all .= __('Language') . ': ' . $locale . '<br/>';
                }
                
$all .= __('Title') . ': ' . $data['s_title'] . '<br/>';
                
$all .= __('Description') . ': ' . $data['s_description'] . '<br/>';
                
$all .= '<br/>';
            }
        } else {
            
$all .= __('Title') . ': ' . $item['s_title'] . '<br/>';
            
$all .= __('Description') . ': ' . $item['s_description'] . '<br/>';
        }

        
// Format activation URL
        
$validation_url = osc_item_activate_url( $item['s_secret'], $item['pk_i_id'] );

        
$words   = array();
        
$words[] = array(
            
'{ITEM_DESCRIPTION_ALL_LANGUAGES}',
            
'{ITEM_DESCRIPTION}',
            
'{ITEM_COUNTRY}',
            
'{ITEM_PRICE}',
            
'{ITEM_REGION}',
            
'{ITEM_CITY}',
            
'{ITEM_ID}',
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{ITEM_TITLE}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}',
            
'{VALIDATION_LINK}',
            
'{VALIDATION_URL}',
            
'{EDIT_LINK}',
            
'{EDIT_URL}',
            
'{DELETE_LINK}',
            
'{DELETE_URL}'
        
);
        
$words[] = array(
            
$all,
            
$item['s_description'],
            
$item['s_country'],
            
osc_format_price($item['i_price']),
            
$item['s_region'],
            
$item['s_city'],
            
$item['pk_i_id'],
            
$item['s_contact_name'],
            
$item['s_contact_email'],
            
$item['s_title'],
            
$item_url,
            
$item_link,
            
'<a href="' . $validation_url . '" >' . $validation_url . '</a>',
            
$validation_url,
            
'<a href="' . $edit_url . '">' . $edit_url . '</a>',
            
$edit_url,
            
'<a href="' . $delete_url . '">' . $delete_url . '</a>',
            
$delete_url
        
);
        
$title = osc_apply_filter('email_item_validation_non_register_user_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_item_validation_non_register_user_title', $content['s_title'], $item)), $words), $item);
        
$body = osc_apply_filter('email_item_validation_non_register_user_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_item_validation_non_register_user_description', $content['s_text'], $item)), $words), $item);

        
$emailParams = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => $item['s_contact_email'],
            
'to_name'  => $item['s_contact_name'],
            
'body'     => $body,
            
'alt_body' => $body
        
);

        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_item_validation_non_register_user', 'fn_email_item_validation_non_register_user');

    function 
fn_email_admin_new_user($user) {
        
$pageManager = new Page();
        
$locale      = osc_current_user_locale();
        
$aPage       = $pageManager->findByInternalName('email_admin_new_user');

        if( isset(
$aPage['locale'][$locale]['s_title']) ) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        if( !
is_null($content) ) {
            
$words   = array();
            
$words[] = array(
                
'{USER_NAME}',
                
'{USER_EMAIL}'
            
);
            
$words[] = array(
                
$user['s_name'],
                
$user['s_email']
            );
            
$title = osc_apply_filter('email_admin_user_registration_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_admin_user_registration_title', $content['s_title'], $user)), $words), $user);
            
$body  = osc_apply_filter('email_admin_user_regsitration_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_admin_user_regsitration_description', $content['s_text'], $user)), $words), $user);

            
$emailParams = array(
                
'subject'  => $title,
                
'from'     => _osc_from_email_aux(),
                
'to'       => osc_contact_email(),
                
'to_name'  => osc_page_title(),
                
'body'     => $body,
                
'alt_body' => $body,
            );
            
osc_sendMail($emailParams);
        }
    }
    
osc_add_hook('hook_email_admin_new_user', 'fn_email_admin_new_user');

    function 
fn_email_contact_user($id, $yourEmail, $yourName, $phoneNumber, $message) {
        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_contact_user');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$words   = array();
        
$words[] = array(
            
'{CONTACT_NAME}',
            
'{USER_NAME}',
            
'{USER_EMAIL}',
            
'{USER_PHONE}',
            
'{COMMENT}'
        
);
        
$words[] = array(
            
osc_user_name(),
            
$yourName,
            
$yourEmail,
            
$phoneNumber,
            
$message
        
);

        
$title = osc_apply_filter('email_item_inquiry_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_item_inquiry_title', $content['s_title'], $id, $yourEmail, $yourName, $phoneNumber, $message)), $words), $id, $yourEmail, $yourName, $phoneNumber, $message);
        
$body = osc_apply_filter('email_item_inquiry_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_item_inquiry_description', $content['s_text'], $id, $yourEmail, $yourName, $phoneNumber, $message)), $words), $id, $yourEmail, $yourName, $phoneNumber, $message);

        
$emailParams = array (
            
'from'      => osc_contact_email(),
            
'subject'   => $title,
            
'to'        => osc_user_email(),
            
'to_name'   => osc_user_name(),
            
'body'      => $body,
            
'alt_body'  => $body,
            
'reply_to'  => $yourEmail
        
);

        if( 
osc_notify_contact_item() ) {
            
$emailParams['add_bcc'] = osc_contact_email();
        }

        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_contact_user', 'fn_email_contact_user');

    function 
fn_email_new_comment_user($aItem) {
        
$authorName  = trim(strip_tags($aItem['authorName']));
        
$authorEmail = trim(strip_tags($aItem['authorEmail']));
        
$body        = trim(strip_tags($aItem['body']));
        
$body        = nl2br($body);
        
$title       = $aItem['title'];
        
$itemId      = $aItem['id'];
        
$admin_email = osc_contact_email();

        
$item = Item::newInstance()->findByPrimaryKey($itemId);
        
View::newInstance()->_exportVariableToView('item', $item);
        
$itemURL = osc_item_url();
        
$itemURL = '<a href="'.$itemURL.'" >'.$itemURL.'</a>';

        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_new_comment_user');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$words   = array();
        
$words[] = array(
            
'{COMMENT_AUTHOR}',
            
'{COMMENT_EMAIL}',
            
'{COMMENT_TITLE}',
            
'{COMMENT_TEXT}',
            
'{ITEM_TITLE}',
            
'{ITEM_ID}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}',
            
'{SELLER_NAME}',
            
'{SELLER_EMAIL}'
        
);
        
$words[] = array(
            
$authorName,
            
$authorEmail,
            
$title,
            
$body,
            
$item['s_title'],
            
$itemId,
            
osc_item_url(),
            
$itemURL,
            
$item['s_contact_name'],
            
$item['s_contact_email']
        );
        
$title_email = osc_apply_filter('email_new_comment_user_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_new_comment_user_title', $content['s_title'], $aItem)), $words), $aItem);
        
$body_email = osc_apply_filter('email_new_comment_user_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_new_comment_user_description', $content['s_text'], $aItem)), $words), $aItem);

        
$emailParams = array(
            
'from'      => $admin_email,
            
'subject'   => $title_email,
            
'to'        => $item['s_contact_email'],
            
'to_name'   => $item['s_contact_name'],
            
'body'      => $body_email,
            
'alt_body'  => $body_email
        
);
        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_new_comment_user', 'fn_email_new_comment_user');

    function 
fn_email_new_admin($data) {

        
$name       = trim(strip_tags($data['s_name']));
        
$username   = trim(strip_tags($data['s_username']));

        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_new_admin');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$words   = array();
        
$words[] = array(
            
'{ADMIN_NAME}',
            
'{USERNAME}',
            
'{PASSWORD}',
            
'{WEB_ADMIN_LINK}'
        
);
        
$words[] = array(
            
$name,
            
$username,
            
$data['s_password'],
            
'<a href="' . osc_admin_base_url() . '">' . osc_page_title() . '</a>',
        );
        
$title_email = osc_apply_filter('email_new_admin_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_new_admin_title', $content['s_title'], $data)), $words), $data);
        
$body_email  = osc_apply_filter('email_new_admin_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_new_admin_description', $content['s_text'], $data)), $words), $data);

        
$emailParams = array(
            
'from'      => osc_contact_email(),
            
'subject'   => $title_email,
            
'to'        => $data['s_email'],
            
'to_name'   => $data['s_name'],
            
'body'      => $body_email,
            
'alt_body'  => $body_email
        
);
        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_new_admin', 'fn_email_new_admin');


    function 
fn_email_warn_expiration($aItem) {
        
$itemId      = $aItem['pk_i_id'];
        
$admin_email = osc_contact_email();

        
View::newInstance()->_exportVariableToView('item', $aItem);
        
$itemURL = osc_item_url();
        
$itemURL = '<a href="'.$itemURL.'" >'.$itemURL.'</a>';

        
$mPages = new Page();
        
$aPage = $mPages->findByInternalName('email_warn_expiration');
        
$locale = osc_current_user_locale();

        if(isset(
$aPage['locale'][$locale]['s_title'])) {
            
$content = $aPage['locale'][$locale];
        } else {
            
$content = current($aPage['locale']);
        }

        
$words   = array();
        
$words[] = array(
            
'{USER_NAME}',
            
'{ITEM_TITLE}',
            
'{ITEM_ID}',
            
'{ITEM_EXPIRATION_DATE}',
            
'{ITEM_URL}',
            
'{ITEM_LINK}',
            
'{SELLER_NAME}',
            
'{SELLER_EMAIL}',
            
'{CONTACT_NAME}',
            
'{CONTACT_EMAIL}'
        
);
        
$words[] = array(
            
$aItem['s_contact_name'],
            
$aItem['s_title'],
            
$itemId,
            
$aItem['dt_expiration'],
            
osc_item_url(),
            
$itemURL,
            
$aItem['s_contact_name'],
            
$aItem['s_contact_email'],
            
$aItem['s_contact_name'],
            
$aItem['s_contact_email']
        );
        
$title_email = osc_apply_filter('email_warn_expiration_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_warn_expiration_title', $content['s_title'], $aItem)), $words), $aItem);
        
$body_email = osc_apply_filter('email_warn_expiration_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_warn_expiration_description', $content['s_text'], $aItem)), $words), $aItem);

        
$emailParams = array(
            
'from'      => $admin_email,
            
'subject'   => $title_email,
            
'to'        => $aItem['s_contact_email'],
            
'to_name'   => $aItem['s_contact_name'],
            
'body'      => $body_email,
            
'alt_body'  => $body_email
        
);
        
osc_sendMail($emailParams);
    }
    
osc_add_hook('hook_email_warn_expiration', 'fn_email_warn_expiration');

    function 
fn_email_auto_upgrade($result) {


        
$body = __('<p>Dear {WEB_TITLE} admin,</p>');
        if(
$result['error']==0 || $result['error']==6) {
            
$title = __('{WEB_TITLE} - Your site has upgraded to Osclass {VERSION}');
            
$body .= __('<p>Your site at {WEB_LINK} has been updated automatically to Osclass {VERSION}</p>');
            if(
$result['error']==6) {
                
$body .= __('<p>There were some minor errors removing temporary files. Please manually remove the "oc-content/downloads/oc-temp" folder</p>');
            }
        } else {
            
$title = __('{WEB_TITLE} - We failed trying to upgrade your site to Osclass {VERSION}');
            
$body .= '<p>We failed trying to upgrade your site to Osclass {VERSION}. Heres is the error message: {MESSAGE}</p>';
        }
        
$body .= '<p>If you experience any issues or need support, we will be happy to help you at the Osclass support forums</p>';
        
$body .= '<p><a href="http://forums.osclass.org/">http://forums.osclass.org/</a></p>';
        
$body .= '<p>The Osclass team</p>';


        
$words   = array();
        
$words[] = array(
            
'{MESSAGE}',
            
'{VERSION}'
        
);
        
$words[] = array(
            
$result['message'],
            
$result['version']
        );

        
$title = osc_apply_filter('email_after_auto_upgrade_title_after', osc_mailBeauty(osc_apply_filter('email_title', osc_apply_filter('email_after_auto_upgrade_title', $title, $result)), $words), $result);
        
$body = osc_apply_filter('email_after_auto_upgrade_description_after', osc_mailBeauty(osc_apply_filter('email_description', osc_apply_filter('email_after_auto_upgrade_description', $body, $result)), $words), $result);

        
$emailParams = array(
            
'subject'  => $title,
            
'from'     => _osc_from_email_aux(),
            
'to'       => osc_contact_email(),
            
'to_name'  => osc_page_title(),
            
'body'     => $body,
            
'alt_body' => $body,
        );
        
osc_sendMail($emailParams);
    }
    
osc_add_hook('after_auto_upgrade', 'fn_email_auto_upgrade', 10);


    function 
_osc_from_email_aux() {
        
$tmp = osc_mailserver_mail_from();
        return !empty(
$tmp)?$tmp:osc_contact_email();
    }


/* file end: ./oc-includes/osclass/emails.php */
Онлайн: 2
Реклама