<?php
/**
  @licence GPL 2005-2010  The osCSS developers - osCSS Open Source E-commerce
  @portion code Copyright (c) 2002 osCommerce
  @package osCSS-2 <www http://www.oscss.org>
  @version 2.0.9
  @date  05/07/10, 18:17
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  @encode UTF-8
*/



/**
  @interface InterfaceModule
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class pour tous les modules
*/
Interface InterfaceModule {
  //! Force la classe implements à définir cette méthode
  public function check();
  public function install();
  public function remove();
  public function keys();
}

/**
  @interface InterfaceAcaProcess
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class support moduel ACA specifique general
*/
Interface InterfaceAcaGene {
  //! Force la classe implements à définir cette méthode
  public function display_view($ID,$class='');
  public function display_view_min($ID,$class='');
}

/**
  @interface InterfaceAcaProcess
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class support moduel ACA specifique general
*/
Interface InterfaceAcaProcess {
//   public function get_header();
}


/**
  @interface InterfaceAcaPayment
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class support moduel ACA specifique general
*/
Interface InterfaceAcaPayment {
  public function javascript_validation();
  public function selection();
  public function pre_confirmation_check();
  public function confirmation();
  public function process_button();
  public function before_process();
  public function after_process();
//   public function output_error();
  public function get_error();
}

/**
  @interface InterfaceAcaOrderTotal
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class support moduel ACA specifique order total
*/
Interface InterfaceAcaOrderTotal {
  public function process();
}

/**
  @interface InterfaceAcaOrderTotal
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class support moduel ACA specifique order total
*/
Interface InterfaceAcaShipping {
  public function quote($method = '');
  public function update_status($order);
}

/**
  @interface InterfaceAccount
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class support module aca account
*/
Interface InterfaceAccount {
  public function display_view_min_listMyAccount();
}

/**
  @interface InterfaceAcaPayment
  @author oscim <mail aurelien@oscim.fr> <www http://www.oscim.fr>
  Interface class support des class data charger traitement et recup des elements type
  cf cms, products, categories
*/
Interface Interfacedata{
  public static function get_item($id);
  //! requete generic load db or cache
  public static function get_query($id='',$search='',$exclude='');

}


abstract class DataStatmentFO {

  // Force la classe étendue à définir cette méthode
  protected static function statment_query($content_query,$exclude='',$search=''){}
  protected static function add_where_query($add){}
  protected static function reset_query(){}
  protected static function cstr_query($orderby='', $limit='', $option=''){}

  // méthode commune
  /**
  */
  public static function start(){
    global $languages_id;
    self::$lg_id=(int)$languages_id;
    $DB=Database::getInstance();
    self::$obj_language = $DB->query("select code from " . TABLE_LANGUAGES . " where languages_id='" .self::$lg_id . "'");
  }

}
?>