<?php
if (!defined("ROOT_PATH"))
{
	header("HTTP/1.1 403 Forbidden");
	exit;
}
class pjInvoiceConfigModel extends pjInvoiceAppModel
{
	protected $primaryKey = 'id';
	
	protected $table = 'plugin_invoice_config';
	
	protected $schema = array(
		array('name' => 'id', 'type' => 'int', 'default' => ':NULL'),
		array('name' => 'invoice_number', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'invoice_number_digits', 'type' => 'tinyint', 'default' => 5),
		array('name' => 'invoice_number_reset_yearly', 'type' => 'tinyint', 'default' => 0),

		array('name' => 'y_logo', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_email_logo', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_country', 'type' => 'int', 'default' => ':NULL'),
		array('name' => 'y_zip', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_phone', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_email', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_url', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_vat_number', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_coc_number', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_bank_iban', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'y_bank_name', 'type' => 'varchar', 'default' => ':NULL'),
		array('name' => 'si_include', 'type' => 'tinyint', 'default' => 0),
		array('name' => 'o_use_qty_unit_price', 'type' => 'tinyint', 'default' => 1)
	);
	
	protected $i18n = array('y_company', 'y_name', 'y_street_address', 'y_city', 'y_state', 'y_template');
	
	public static function factory($attr=array())
	{
		return new pjInvoiceConfigModel($attr);
	}
	
	public function getConfigData($locale_id, $pk=1)
	{
		$arr = $this->find($pk)->getData();
		
		$i18n = pjMultiLangModel::factory()
			->where('t1.model', 'pjInvoiceConfig')
			->where('t1.foreign_id', $pk)
			->where('t1.locale', $locale_id)
			->whereIn('t1.field', $this->getI18n())
			->findAll()
			->getDataPair('field', 'content');
		
		return array_merge($arr, $i18n);
	}
}
?>
