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.
		
		
		
		
		
			
		
			
				
					
					
						
							134 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
	
	
							134 lines
						
					
					
						
							3.5 KiB
						
					
					
				<?php
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
 | 
						|
/**
 | 
						|
 * Class EventEmailTemplate
 | 
						|
 */
 | 
						|
class EventEmailTemplate extends Model
 | 
						|
{
 | 
						|
    public $table;
 | 
						|
    public $columns = array(
 | 
						|
        'id',
 | 
						|
        'message',
 | 
						|
        'subject',
 | 
						|
        'event_type_name',
 | 
						|
        'activated',
 | 
						|
    );
 | 
						|
 | 
						|
    /**
 | 
						|
     * Constructor
 | 
						|
     */
 | 
						|
	public function __construct()
 | 
						|
    {
 | 
						|
        $this->table =  Database::get_main_table(TABLE_EVENT_EMAIL_TEMPLATE);
 | 
						|
	}
 | 
						|
 | 
						|
    /**
 | 
						|
     * @param array $where_conditions
 | 
						|
     * @return array
 | 
						|
     */
 | 
						|
    public function get_all($where_conditions = array())
 | 
						|
    {
 | 
						|
        return Database::select(
 | 
						|
            '*',
 | 
						|
            $this->table,
 | 
						|
            array('where' => $where_conditions, 'order' => 'name ASC')
 | 
						|
        );
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Displays the title + grid
 | 
						|
     */
 | 
						|
	public function display()
 | 
						|
    {
 | 
						|
		// action links
 | 
						|
		$content = Display::actions(array(
 | 
						|
                array(
 | 
						|
                    'url' => 'event_type.php' ,
 | 
						|
                    'content' => Display::return_icon('new_document.png', get_lang('Add'), array(), ICON_SIZE_MEDIUM)
 | 
						|
                 )
 | 
						|
            )
 | 
						|
        );
 | 
						|
        $content .= Display::grid_html('event_email_template');
 | 
						|
        return $content;
 | 
						|
	}
 | 
						|
 | 
						|
    /**
 | 
						|
     * @return array
 | 
						|
     */
 | 
						|
    public function get_status_list()
 | 
						|
    {
 | 
						|
        return array(
 | 
						|
            EVENT_EMAIL_TEMPLATE_ACTIVE => get_lang('Enabled'),
 | 
						|
            EVENT_EMAIL_TEMPLATE_INACTIVE => get_lang('Disabled')
 | 
						|
        );
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns a Form validator Obj
 | 
						|
     * @param   string  $url
 | 
						|
     * @param   string  $action add, edit
 | 
						|
     *
 | 
						|
     * @return  FormValidator
 | 
						|
     */
 | 
						|
    public function return_form($url, $action)
 | 
						|
    {
 | 
						|
        $form = new FormValidator('career', 'post', $url);
 | 
						|
        // Setting the form elements
 | 
						|
        $header = get_lang('Add');
 | 
						|
        if ($action == 'edit') {
 | 
						|
            $header = get_lang('Modify');
 | 
						|
        }
 | 
						|
 | 
						|
        $form->addElement('header', $header);
 | 
						|
        $id = isset($_GET['id']) ? intval($_GET['id']) : '';
 | 
						|
        $form->addElement('hidden', 'id', $id);
 | 
						|
        $form->addElement('text', 'name', get_lang('Name'), array('size' => '70'));
 | 
						|
        $form->addHtmlEditor(
 | 
						|
            'description',
 | 
						|
            get_lang('Description'),
 | 
						|
            false,
 | 
						|
            false,
 | 
						|
            array(
 | 
						|
                'ToolbarSet' => 'careers',
 | 
						|
                'Width' => '100%',
 | 
						|
                'Height' => '250',
 | 
						|
            )
 | 
						|
        );
 | 
						|
	    $status_list = $this->get_status_list();
 | 
						|
        $form->addElement('select', 'status', get_lang('Status'), $status_list);
 | 
						|
        if ($action == 'edit') {
 | 
						|
            $form->addElement('text', 'created_at', get_lang('CreatedAt'));
 | 
						|
            $form->freeze('created_at');
 | 
						|
        }
 | 
						|
 | 
						|
        if ($action == 'edit') {
 | 
						|
            $form->addButtonSave(get_lang('Modify'), 'submit');
 | 
						|
        } else {
 | 
						|
            $form->addButtonCreate(get_lang('Add'), 'submit');
 | 
						|
        }
 | 
						|
 | 
						|
        // Setting the defaults
 | 
						|
        $defaults = $this->get($id);
 | 
						|
 | 
						|
        if (!empty($defaults['created_at'])) {
 | 
						|
        	$defaults['created_at'] = api_convert_and_format_date($defaults['created_at']);
 | 
						|
        }
 | 
						|
        if (!empty($defaults['updated_at'])) {
 | 
						|
        	$defaults['updated_at'] = api_convert_and_format_date($defaults['updated_at']);
 | 
						|
        }
 | 
						|
        $form->setDefaults($defaults);
 | 
						|
 | 
						|
        // Setting the rules
 | 
						|
        $form->addRule('name', get_lang('ThisFieldIsRequired'), 'required');
 | 
						|
 | 
						|
		return $form;
 | 
						|
    }
 | 
						|
 | 
						|
    public function get_count()
 | 
						|
    {
 | 
						|
        $row = Database::select('count(*) as count', $this->table, array(),'first');
 | 
						|
 | 
						|
        return $row['count'];
 | 
						|
    }
 | 
						|
}
 | 
						|
 |