Вход Регистрация
Файл: oc-includes/osclass/classes/EmailVariables.php
Строк: 180
<?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.
 */

    /**
     * EmailVariables class
     * 
     * @since 3.0
     * @package Osclass
     * @subpackage classes
     * @author Osclass
     */
    
class EmailVariables
    
{
        private static 
$instance;
        private 
$variables;

        public function 
__construct()
        {
            
$this->variables = array();
            
$this->init();
        }

        public static function 
newInstance()
        {
            if(!
self::$instance instanceof self) {
                
self::$instance = new self;
            }
            return 
self::$instance;
        }

        
/**
         *  Initialize menu representation.
         */
        
public function init()
        {
            
$this->variables = array(
                
'{USER_NAME}'       => __('User name'),
                
'{USER_EMAIL}'      => __('User email'),
                
'{VALIDATION_LINK}' => __('Link for account validation.'),
                
'{VALIDATION_URL}'  => __('Url for account validation.'),
                
'{ADS}'             => __('List of listings, used when send alerts'),
                
'{UNSUB_LINK}'      => __('Unsubscribe link.'),
                
'{WEB_URL}'         => __('Site home page url.'),
                
'{WEB_LINK}'        => __('Site home page link.'),
                
'{WEB_TITLE}'       => __('Title of your site'),
                
'{CURRENT_DATE}'    => __('Current date'),
                
'{HOUR}'            => __('Hour'),
                
'{IP_ADDRESS}'      => __('User ip address'),
                
'{COMMENT_AUTHOR}'  => __('Comment author name'),
                
'{COMMENT_EMAIL}'   => __('Comment author email'),
                
'{COMMENT_TITLE}'   => __('Comment title'),
                
'COMMENT_TEXT'      => __('Comment text content'),
                
'{COMMENT_BODY}'    => __('Comment body'),
                
'{ITEM_URL}'        => __('Listing url'),
                
'{ITEM_LINK}'       => __('Listing list'),
                
'{ITEM_TITLE}'      => __('Listing title'),
                
'{ITEM_ID}'         => __('Listing id'),
                
'{EDIT_LINK}'       => __('Link for edit listing'),
                
'{EDIT_URL}'        => __('Url for edit listing'),
                
'{DELETE_LINK}'     => __('Delete listing link'),
                
'{DELETE_URL}'      => __('Delete listing url'),
                
'{PASSWORD_LINK}'   => __('Change user password link'),
                
'{PASSWORD_URL}'    => __('change user password url'),
                
'{DATE_TIME}'       => __('Date time'),
                
'{FRIEND_NAME}'     => __('Name of the friend who wants send'),
                
'{FRIEND_EMAIL}'    => __('Email of the friend who wants send'),
                
'{COMMENT}'         => __('Question about your listing'),
                
'{CONTACT_NAME}'    => __('Contact name'),
                
'{USER_PHONE}'      => __('User phone number'),
                
'{ITEM_DESCRIPTION}'=> __('Listing description'),
                
'{ITEM_DESCRIPTION_ALL_LANGUAGES}' => __('Listing description in all languages'),
                
'{ITEM_PRICE}'        => __('Listing price'), 
                
'{ITEM_COUNTRY}'      => __('Listing country'), 
                
'{ITEM_REGION}'       => __('Listing region'), 
                
'{ITEM_CITY}'         => __('Listing city')
            );
        }

        
/**
         * Add new email variable and description
         *
         * @param type $key
         * @param type $description 
         */
        
public function add($key$description)
        {
            
$this->variables[$key] = $description;
        }

        
/**
         * Remove email variable from the array 
         * 
         * @param type $key
         */
        
public function remove$key 
        {
            unset( 
$this->variables[$key] );
        }
        
        
/**
         *
         * @param type $email 
         */
        
function getVariables$email )
        {
            
$array = array();
            
$variables = array(
                
'email_alert_validation' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{VALIDATION_LINK}'
                
),'alert_email_hourly' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{ADS}',
                    
'{UNSUB_LINK}'
                
),'alert_email_daily' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{ADS}',
                    
'{UNSUB_LINK}'
                
),'alert_email_weekly' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{ADS}',
                    
'{UNSUB_LINK}'
                
),'alert_email_instant' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{ADS}',
                    
'{UNSUB_LINK}'
                
),'email_comment_validated' => array(
                    
'{COMMENT_AUTHOR}',
                    
'{COMMENT_EMAIL}',
                    
'{COMMENT_TITLE}',
                    
'{COMMENT_BODY}',
                    
'{ITEM_URL}',
                    
'{ITEM_LINK}',
                    
'{ITEM_TITLE}'
                
),'email_new_item_non_register_user' => array(
                    
'{ITEM_ID}',
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{ITEM_TITLE}',
                    
'{ITEM_URL}',
                    
'{ITEM_LINK}',
                    
'{EDIT_LINK}',
                    
'{EDIT_URL}',
                    
'{DELETE_LINK}',
                    
'{DELETE_URL}'
                
),'email_user_forgot_password' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{PASSWORD_LINK}',
                    
'{PASSWORD_URL}',
                    
'{DATE_TIME}'
                
),'email_user_registration' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}'
                
),'email_new_email' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{VALIDATION_LINK}',
                    
'{VALIDATION_URL}'
                
),'email_user_validation' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{VALIDATION_LINK}',
                    
'{VALIDATION_URL}'
                
),'email_send_friend' => array(
                    
'{FRIEND_NAME}',
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{FRIEND_EMAIL}',
                    
'{ITEM_TITLE}',
                    
'{COMMENT}',
                    
'{ITEM_URL}',
                    
'{ITEM_LINK}'
                
),'email_item_inquiry' => array(
                    
'{CONTACT_NAME}',
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{USER_PHONE}',
                    
'{ITEM_TITLE}',
                    
'{ITEM_URL}',
                    
'{ITEM_LINK}',
                    
'{COMMENT}'
                
),'email_new_comment_admin' => array(
                    
'{COMMENT_AUTHOR}',
                    
'{COMMENT_EMAIL}',
                    
'{COMMENT_TITLE}',
                    
'{COMMENT_TEXT}',
                    
'{ITEM_TITLE}',
                    
'{ITEM_ID}',
                    
'{ITEM_URL}',
                    
'{ITEM_LINK}'
                
),'email_item_validation' => 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}'
                
),'email_admin_new_item' => 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}'
                
),'email_item_validation_non_register_user' => 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}'
                
),'email_admin_new_user' => array(
                    
'{USER_NAME}',
                    
'{USER_EMAIL}'
                
),'email_contact_user' => array(
                    
'{CONTACT_NAME}',
                    
'{USER_NAME}',
                    
'{USER_EMAIL}',
                    
'{USER_PHONE}',
                    
'{COMMENT}'
                
),'email_new_comment_user' => array(
                    
'{COMMENT_AUTHOR}',
                    
'{COMMENT_EMAIL}',
                    
'{COMMENT_TITLE}',
                    
'{COMMENT_TEXT}',
                    
'{ITEM_TITLE}',
                    
'{ITEM_ID}',
                    
'{ITEM_URL}',
                    
'{ITEM_LINK}',
                    
'{SELLER_NAME}',
                    
'{SELLER_EMAIL}'
                
),'email_new_admin' => array(
                    
'{ADMIN_NAME}',
                    
'{USERNAME}',
                    
'{PASSWORD}',
                    
'{WEB_ADMIN_LINK}'
                
),'email_warn_expiration' => array(
                    
'{USER_NAME}',
                    
'{ITEM_TITLE}',
                    
'{ITEM_ID}',
                    
'{ITEM_EXPIRATION_DATE}',
                    
'{ITEM_URL}',
                    
'{ITEM_LINK}',
                    
'{SELLER_NAME}',
                    
'{SELLER_EMAIL}',
                    
'{CONTACT_NAME}',
                    
'{CONTACT_EMAIL}'
                
)
            );

            if(isset(
$email['s_internal_name']) && isset($variables[$email['s_internal_name']])) {
                foreach(
$variables[$email['s_internal_name']] as $word) {
                    
$array[$word] = $this->variables[$word];
                }
            }

            return 
osc_apply_filter('email_legend_words'$array, @$email['s_internal_name']);
        }
        
        
/*
         * Empty the variables array
         */
        
public function clear_menu( )
        {
            
$this->variables = array();
        }
    }
Онлайн: 1
Реклама