Jump to content

Error Hook.php on line 190 please help


Recommended Posts

por favor me ajudar a corrigir este erro:   Warning: Invalid argument fornecido para o foreach () in /home/pbligado/public_html/lojagraffite/wa_ps_1_5_2_0/classes/Hook.php  na linha  190

 

<? php
/ *
* 2007-2012 PrestaShop
*
* AVISO DE LICENÇA
*
* Este arquivo de origem está sujeito à Licença Open Software (OSL 3.0)
* Que é fornecido com este pacote no LICENSE.txt arquivo.
* Também está disponível através da world-wide-web no endereço:
* Se você não recebeu uma cópia da licença e são incapazes de
* Obtê-lo através da world-wide-web, por favor envie um e-mail
* Até [email protected]~~V para que possamos enviar-lhe uma cópia imediatamente.
*
* AVISO LEGAL
*
* Não editar ou adicionar a este arquivo se você deseja atualizar PrestaShop ao mais recente
* Versões no futuro. Se você deseja personalizar PrestaShop para o seu
* Necessidades consulte http://www.prestashop.com para mais informações.
*
*author PrestaShop SA <[email protected]>
*Copyright 2007-2012 PrestaShop SA
*version De lançamento: $ Revision: 7025 $
*license Http://opensource.org/licenses/osl-3.0.php Software Open License (OSL 3.0)
* Marca Registrada Internacional e Propriedade de PrestaShop SA
* /
 
classe HookCore estende ObjectModel
{
/ **
*var Identificador seqüência de nome de gancho
* /
nome $ pública;
 
/ **
*var Título seqüência Hook (exibido em BO)
* /
$ title pública;
 
/ **
*var Seqüência de descrição de gancho
* /
$ descrição pública;
 
/ **
*var Bool
* /
$ position pública = false;
 
/ **
*var Bool É este gancho utilizável com edição ao vivo?
* /
$ live_edit pública = false;
 
/ **
* Matrizvar Lista de ganchos executados nesta página
* /
públicas $ executed_hooks estáticos = array ();
 
/ **
*see ObjectModel :: $ definição
* /
$ definição public static = array (
'table' => 'gancho',
'primário' => 'id_hook',
= 'campos'> array (
'name' => array ('tipo' => self :: TYPE_STRING, 'validar' => 'isHookName', 'required' => true, 'tamanho' => 64),
'title' => array ('tipo' => self :: TYPE_STRING),
'description' => array ('tipo' => self :: TYPE_HTML),
'posição' => array ('tipo' => self :: TYPE_BOOL),
'live_edit' => array ('tipo' => self :: TYPE_BOOL),
),
);
 
/ **
*deprecated 1.5.0
* /
protegido static $ _hook_modules_cache = null;
 
/ **
*deprecated 1.5.0
* /
protegido static $ _hook_modules_cache_exec = null;
 
public function add ($ AutoDate = true, $ null_values ​​= false)
{
Cache :: clean ('hook_idbyname _' $ this-> nome.);
pai voltar :: add ($ AutoDate, $ null_values);
}
 
/ **
* Retorno Lista Hooks
*
*param Bool $ position
*return Matriz Lista Hooks
* /
getHooks public static function ($ position = false)
{
Db voltar :: getInstance (_PS_USE_SQL_SLAVE _) -> executa ('
SELECT * do `'._DB_PREFIX _.' Hook` h
". ($ position? 'WHERE h.`position` = 1': '') '.
ORDER BY `title` '
);
}
 
/ **
* ID Retorno gancho de nome
*
* @ Param string $ nome hook_name gancho
*return Int Gancho ID
* /
getIdByName função pública estático ($ hook_name)
{
if (! Validar :: isHookName ($ hook_name))
return false;
 
$ cache_id = '_ hook_idbyname' $ hook_name.;
if (! Cache :: isStored ($ cache_id))
{
$ retro_hook_name = gancho :: getRetroHookName ($ hook_name);
Cache :: loja ($ cache_id, Db :: getInstance () -> getValue ('
Selecione `id_hook`
Do `'._DB_PREFIX _.' Hook`
ONDE `name` = \ '.' Psql ($ hook_name). '\'
OU `name` = \ '.' Psql ($ retro_hook_name). '\'
'));
}
 
retornar Cache :: recuperar ($ cache_id);
}
 
/ **
* Lista de alias de gancho Obter
*
*since 1.5.0
* Arrayreturn
* /
public static function getHookAliasList ()
{
$ cache_id = ''; hook_alias
if (! Cache :: isStored ($ cache_id))
{
$ hook_alias_list = Db :: getInstance () -> executa ("SELECT * FROM` '._DB_PREFIX _' hook_alias`. ');
hook_alias $ = array ();
if ($ hook_alias_list)
foreach ($ hook_alias_list quanto $ ha)
$ hook_alias [strtolower ($ ha ['alias'])] = $ ha ['name'];
Cache :: loja ($ cache_id, $ hook_alias);
}
retornar Cache :: recuperar ($ cache_id);
}
 
/ **
* Retorno nome gancho retrocompatible
*
*since 1.5.0
* @ Param string $ nome hook_name gancho
*return Int Gancho ID
* /
getRetroHookName função pública estático ($ hook_name)
{
$ alias_list = gancho :: getHookAliasList ();
if (isset ($ alias_list [strtolower ($ hook_name)]))
return $ alias_list [strtolower ($ hook_name)];
 
$ retro_hook_name = array_search ($ hook_name, $ alias_list);
if ($ retro_hook_name === false)
Retorna '';
return $ retro_hook_name;
}
 
/ **
* Lista de todos os ganchos registrados com módulos Obter
*
*since 1.5.0
* Arrayreturn
* /
public static function getHookModuleList ()
{
$ cache_id = 'hook_module_list';
if (! Cache :: isStored ($ cache_id))
{
$ results = Db :: getInstance (_PS_USE_SQL_SLAVE _) -> executa ('
H.id_hook SELECT, h.name como h_name, título, descrição, Posição H, live_edit, hm.position como hm_position, m.id_module, m.name, Ativo
Do `'._DB_PREFIX _.' Hook` h
INNER JOIN `'._DB_PREFIX _.' Hook_module` hm ON (h.id_hook = hm.id_hook E hm.id_shop = '(int) Context :: getContext (.) -> Shop-> id.)
INNER JOIN `'._DB_PREFIX _.' Module` como m ON (m.id_module = hm.id_module)
ORDER BY hm.position ');
$ list = array ();
foreach ($ resultados como $ result)
{
if (! isset ($ list [$ result ['id_hook']]))
$ list [$ result ['id_hook']] = array ();
 
$ list [$ result [] 'id_hook'] [$ result ['id_module']] = array (
'id_hook' => $ result ['id_hook'],
'title' => $ result ['title'],
'description' => $ result ['description'],
'hm.position' => $ result ['posição'],
'live_edit' => $ result ['live_edit'],
'm.position' => $ result ['hm_position'],
'id_module' => $ result ['id_module'],
'name' => $ result ['name'],
'ativo' => $ result ['ativo'],
);
}
Cache :: loja ($ cache_id, $ lista);
 
//todo Remover esta em 1,6, nós mantê-lo em 1,5 por retrocompatibility
Gancho :: $ _ $ hook_modules_cache = lista;
}
 
retornar Cache :: recuperar ($ cache_id);
}
 
/ **
* Retorno Lista Hooks
*
*since 1.5.0
* @ Param int $ id_hook
* @ Param int $ id_module
* Lista Módulos de matrizreturn
* /
public static function getModulesFromHook ($ id_hook, $ id_module = null)
{
$ hm_list = gancho :: getHookModuleList ();
$ module_list = (isset ($ hm_list [$ id_hook]))? $ hm_list [$ id_hook]: array ();
 
if ($ id_module)
retorno (isset ($ module_list [$ id_module]))? array ($ module_list [$ id_module]): array ();
return $ module_list;
}
 
/ **
* Lista de módulos que podem ser executadas por gancho Obter
*
*since 1.5.0
*param String $ hook_name lista de módulos para este gancho Obter se dado
* Arrayreturn
* /
getHookModuleExecList função pública estático ($ hook_name = null)
{
$ context = Context :: getContext ();
$ cache_id = 'hook_module_exec_list' ((isset ($ context> cliente)) '_' $ context> cliente-> id:?. '.');
if (! Cache :: isStored ($ cache_id) || $ hook_name == 'displayPayment')
{
$ frontend = true;
$ groups = array ();
if (isset ($ context> empregado))
{
shop_list $ = array ((int) $ context> shop-> id);
$ frontend = false;
}
outro
{
// Obter lojas e grupos lista
$ shop_list = Loja :: getContextListShopID ();
if (isset ($ context> cliente) && $ context> cliente-> isLogged ())
$ groups = $ context> cliente-> getgroups ();
elseif (isset ($ context> cliente) && $ context> cliente-> isLogged (true))
$ groups = array ((int) Configuração :: get ('PS_GUEST_GROUP'));
outro
$ groups = array ((int) Configuração :: get ('PS_UNIDENTIFIED_GROUP'));
}
 
// Pedido de SQL
$ sql = new DBQuery ();
$ SQL-> selecione ('h.`name` como gancho, m.`id_module`, h.`id_hook`, m.`name` como módulo, h.`live_edit`');
$ SQL-> a partir de ('module', 'm');
$ SQL-> innerJoin ('hook_module', 'hm', 'hm.`id_module` = m.`id_module`');
$ SQL-> innerJoin ('gancho', 'h', 'hm.`id_hook` = h.`id_hook`');
$ SQL-> onde ('(SELECT COUNT (*) FROM' ._DB_PREFIX _. 'module_shop ms ONDE ms.id_module = m.id_module E ms.id_shop IN (' .implode (',', $ shop_list). ')) = '.count ($ shop_list));
if ($ hook_name! = 'displayPayment')
$ SQL-> onde ('h.name = "displayPayment"!');
// Para os módulos de pagamento, verificamos que eles estão disponíveis no país contextual
elseif ($ frontend)
{
if (Validar :: isLoadedObject ($ context> país))
$ SQL-> onde ('(h.name = "displayPayment" E (SELECT id_country FROM' ._DB_PREFIX _. 'module_country mc ONDE mc.id_module = m.id_module E id_country ='. (int) $ context> país-> id 'LIMIT 1) =' (int) $ context> país-> id ')')...;
if (Validar :: isLoadedObject ($ context> moeda))
$ SQL-> onde ('(h.name = "displayPayment" E (SELECT id_currency FROM' ._DB_PREFIX _. 'module_currency mcr ONDE mcr.id_module = m.id_module E id_currency IN ('. (int) $ context> cambiais > ', -2) LIMIT 1) IN (' (int) $ context> cambiais> id id ', -2))')...;
}
if (Validar :: isLoadedObject ($ context> shop))
$ SQL-> onde ('hm.id_shop =' (int) $ context> shop-> id.);
 
if ($ frontend)
{
$ SQL-> leftJoin ('module_group "," mg "," mg.`id_module` = m.`id_module`');
$ SQL-> onde ('mg.`id_group` IN (' .implode (',', $ grupos) ').');
$ SQL-> groupBy ('hm.id_hook, hm.id_module');
}
 
SQL-$> orderBy ('hm.`position`');
 
// Armazena resultados por nome de gancho
$ results = Db :: getInstance (_PS_USE_SQL_SLAVE _) -> executa ($ sql);
$ list = array ();
 
// Pega todos módulo de pagamento disponíveis
payment_modules $ = array ();
 
if (isset ($ context> shop-> id))
foreach (Módulo :: getPaymentModules () como $ módulo)
$ [] = $ módulo ['name'] payment_modules;
 
if ($ resultados)
foreach ($ resultados como $ row)
{
if ($ row ['gancho'] == 'displayPayment' &&! in_array ($ row ['module'], $ payment_modules))
continuar;
 
$ row ['gancho'] = strtolower ($ row ['gancho']);
if (! isset ($ list [$ linha ['gancho']]))
$ list [$ linha ['gancho']] = array ();
 
$ list [$ linha ['gancho']] [] = array (
'id_hook' => $ row ['id_hook'],
'module' => $ row ['module'],
'id_module' => $ row ['id_module'],
'live_edit' => $ row ['live_edit'],
);
}
if ($ hook_name! = 'displayPayment')
{
Cache :: loja ($ cache_id, $ lista);
//todo Remover esta em 1,6, nós mantê-lo em 1,5 por retrocompatibility
self :: $ _ $ hook_modules_cache_exec = lista;
}
}
outro
$ list = Cache :: recuperar ($ cache_id);
 
// Se hook_name é dado, apenas lista de módulos para obter este gancho
if ($ hook_name)
{
$ retro_hook_name = gancho :: getRetroHookName ($ hook_name);
$ hook_name = strtolower ($ hook_name);
 
$ return = array ();
if (isset ($ list [$ hook_name]))
$ return = $ list [$ hook_name];
if (isset ($ list [$ retro_hook_name]))
$ return = array_merge ($ retorno, $ list [$ retro_hook_name]);
 
if (count ($ regresso)> 0)
return $ regresso;
return false;
}
outro
return $ lista;
}
 
/ **
* Executar módulos de gancho especificado
*
* @ Param string $ hook_name gancho Nome
*param Array $ hook_args Parâmetros para as funções
* @ Param int $ id_module Executar gancho para este módulo só
* Saída de módulos de cordasreturn
* /
função pública exec estático ($ hook_name, hook_args $ = array (), $ id_module = null)
{
// Verifique argumentos validade
if (($ id_module &&! is_numeric ($ id_module)) ||! Validar :: isHookName ($ hook_name))
throw new PrestaShopException ('id_module ou hook_name inválido');
 
// Se não houver módulos associados a hook_name ou nome gancho recompatible, paramos a função
 
if (! $ module_list = Gancho :: getHookModuleExecList ($ hook_name))
Retorna '';
 
// Verifique se existe gancho
if (! $ id_hook = Gancho :: getIdByName ($ hook_name))
return false;
 
// Lista loja de ganchos executados nesta página
Gancho :: $ executed_hooks [$ id_hook] = $ hook_name;
 
$ live_edit = false;
$ context = Context :: getContext ();
if (isset! ($ hook_args ['cookie']) ||! $ hook_args ['cookie'])
$ hook_args ['cookie'] = $ context> biscoito;
if (isset! ($ hook_args ['carrinho']) ||! $ hook_args ['carrinho'])
$ hook_args ['carrinho'] = $ context> carrinho;
 
$ retro_hook_name = gancho :: getRetroHookName ($ hook_name);
 
// Olha para a lista de módulos
Altern $ = 0;
$ output = '';
foreach ($ module_list quanto $ array)
{
// Verifique os erros
if ($ id_module && $ id_module! = $ array ['id_module'])
continuar;
if (! ($ moduleInstance = Module :: getInstanceByName ($ array ['module'])))
continuar;
 
// Verifique as permissões
$ exceções = $ moduleInstance-> getExceptions ($ array ['id_hook']);
if (in_array (Dispatcher :: getInstance () -> getController (), $ exceções))
continuar;
if (Validar :: isLoadedObject ($ context> empregado) &&! $ moduleInstance-> GetPermission ('view', $ context> empregado))
continuar;
 
// Verifique que / se é que pode ser chamado método
$ hook_callable = is_callable (array ($ moduleInstance, 'gancho' $ hook_name).);
$ hook_retro_callable = is_callable (array ($ moduleInstance, 'gancho' $ retro_hook_name).);
if (($ hook_callable || $ hook_retro_callable) && Module :: preCall ($ moduleInstance-> nome))
{
$ hook_args ['altern'] = ++ $ altern;
 
// Método gancho Chamada
if ($ hook_callable)
$ display = $ moduleInstance -> {. 'gancho' $ hook_name} ($ hook_args);
else if ($ hook_retro_callable)
$ display = $ moduleInstance -> {. 'gancho' $ retro_hook_name} ($ hook_args);
// Editar vivo
if ($ array ['live_edit'] && Ferramentas :: isSubmit ('live_edit') && Ferramentas :: getValue ('ad') && Ferramentas :: getValue ('liveToken') == Tools::getAdminToken('AdminModulesPositions'.(int)Tab::getIdFromClassName('AdminModulesPositions').(int)Tools::getValue('id_employee')))
{
$ live_edit = true;
$ output = self :: wrapLiveEdit ($ visor, $ moduleInstance, $ array ['id_hook'].);
}
outro
. $ output = $ visor;
}
}
 
// Retorna html cadeia
retorno ($ live_edit '<script type = "text / javascript"> hooks_list.push (\' '$ hook_name' \ ');?.. </ script>
<div id = class = estilo "dndHook" "'. $ hook_name.'" = "min-height: 50px"> ':' ') $ output ($ live_edit' </ div> ':..?' ') ;
}
 
wrapLiveEdit função pública estático ($ visor, $ moduleInstance, id_hook $)
{
retorno '<script type = "text / javascript"> modules_list.push (\'. 'Ferramentas :: safeOutput ($ moduleInstance-> nome)' \ '.); </ script>
<. div id = "_ gancho '. (int) $ id_hook módulo .'_ _' (int) $ moduleInstance-> id .'_ moduleName _ 'str_replace (.' _ ',' - ', Ferramentas :: safeOutput ($ moduleInstance-> nome)).'"
class = estilo "dndModule" = "border: 1px pontilhada vermelha;". (!? strlen ($ display) 'height: 50px;': '') '. ">
<span style = "font-family: Georgia; font-size: 13px; font-style: italic;">
<img style = "padding-right: 5px;" src = "" ._ MODULE_DIR_.Tools::safeOutput($moduleInstance->name). '/ logo.gif ">'
<Span style = .Tools :: safeOutput ($ moduleInstance-> displayName) '. "Float: right">
<a href="#" id="'.(int)$id_hook.'_'.(int)$moduleInstance-> id '. "class =" moveModule ">
<img src = "" ._ PS_ADMIN_IMG _. 'arrow_out.png "> </a>
<a href="#" id="'.(int)$id_hook.'_'.(int)$moduleInstance-> id '. "class =" unregisterHook ">
<img src = "" ._ PS_ADMIN_IMG _. 'Delete.gif "> </ span> </a>
</ span> '.. $ display' </ div> ';
}
 
 
/ **
*deprecated 1.5.0
* /
public static function updateOrderStatus ($ newOrderStatusId, id_order $)
{
Ferramentas :: displayAsDeprecated ();
$ order = nova Ordem ((int) ($ id_order));
$ newOS = new OrderState ((int) ($ newOrderStatusId), $ ordem-> id_lang);
 
$ regresso = ((int) ($ newOS-> id) == Configuração :: get ('PS_OS_PAYMENT'))? Gancho :: exec ('paymentConfirm', array ('id_order' => (int) ($ ordem-> id))): true;
$ return = Gancho :: exec ('updateOrderStatus', array ('newOrderStatus' => $ newOS, 'id_order' => (int) ($ ordem-> id))) && $ regresso;
return $ regresso;
}
 
/ **
*deprecated 1.5.0
* /
public static function postUpdateOrderStatus ($ newOrderStatusId, id_order $)
{
Ferramentas :: displayAsDeprecated ();
$ order = nova Ordem ((int) ($ id_order));
$ newOS = new OrderState ((int) ($ newOrderStatusId), $ ordem-> id_lang);
$ return = Gancho :: exec ('postUpdateOrderStatus', array ('newOrderStatus' => $ newOS, 'id_order' => (int) ($ ordem-> id)));
return $ regresso;
}
 
/ **
*deprecated 1.5.0
* /
orderConfirmation função pública estático ($ id_order)
{
Ferramentas :: displayAsDeprecated ();
if (Validar :: isUnsignedId ($ id_order))
{
$ params = array ();
$ order = nova Ordem ((int) $ id_order);
$ moeda = new Moeda ((int) $ ordem-> id_currency);
 
if (Validar :: isLoadedObject ($ ordem))
{
$ = new carrinho de Compras ((int) $ ordem-> id_cart);
$ params ['total_to_pay'] = $ carrinho-> getOrderTotal ();
$ params ['moeda'] = $ cambiais> sinal;
$ params ['objOrder'] = $ ordem;
$ params ['currencyObj'] = $ moeda;
 
Gancho retorno :: exec ('orderConfirmation', $ params);
}
}
return false;
}
 
/ **
*deprecated 1.5.0
* /
paymentReturn função pública estático ($ id_order, id_module $)
{
Ferramentas :: displayAsDeprecated ();
if (Validar :: isUnsignedId ($ id_order) && Validar :: isUnsignedId ($ id_module))
{
$ params = array ();
$ order = nova Ordem ((int) ($ id_order));
$ moeda = new Moeda ((int) ($ ordem-> id_currency));
 
if (Validar :: isLoadedObject ($ ordem))
{
$ = new carrinho de Compras ((int) $ ordem-> id_cart);
$ params ['total_to_pay'] = $ carrinho-> getOrderTotal ();
$ params ['moeda'] = $ cambiais> sinal;
$ params ['objOrder'] = $ ordem;
$ params ['currencyObj'] = $ moeda;
 
Gancho retorno :: exec ('paymentReturn', $ params, (int) ($ id_module));
}
}
return false;
}
 
/ **
*deprecated 1.5.0
* /
PDFInvoice função pública estático ($ pdf, id_order $)
{
Ferramentas :: displayAsDeprecated ();
if (! is_object ($ pdf) ||! Validar :: isUnsignedId ($ id_order))
return false;
Gancho retorno :: exec ('PDFInvoice', array ('pdf' => $ pdf, 'id_order' => $ id_order));
}
 
/ **
*deprecated 1.5.0
* /
backBeforePayment função pública estático ($ módulo)
{
Ferramentas :: displayAsDeprecated ();
$ params ['module'] = strval ($ módulo);
if (! $ params ['module'])
return false;
Gancho retorno :: exec ('backBeforePayment', $ params);
}
 
/ **
*deprecated 1.5.0
* /
updateCarrier função pública estático ($ id_carrier, $ transportador)
{
Ferramentas :: displayAsDeprecated ();
if (! Validar :: isUnsignedId ($ id_carrier) ||! is_object ($ transportador))
return false;
Gancho retorno :: exec ('updateCarrier', array ('id_carrier' => $ id_carrier, "portador" => $ transportador));
}
 
/ **
* Cache de módulos pré-carga de gancho
*
*deprecated 1.5.0 uso Gancho :: getHookModuleList () em vez
*return Boolean preload_needed
* /
public static function preloadHookModulesCache ()
{
Ferramentas :: displayAsDeprecated ();
 
if (! is_null (self :: $ _ hook_modules_cache))
return false;
 
self :: $ _ hook_modules_cache = Gancho :: getHookModuleList ();
return true;
}
 
/ **
* ID Retorno gancho de nome
*
*param String $ nome gancho hookName
*return Inteiro Gancho ID
*
*deprecated Desde 1.5.0 uso Gancho :: getIdByName () em vez
* /
public function get estático ($ hookName)
{
Ferramentas :: displayAsDeprecated ();
if (! Validar :: isHookName ($ hookName))
morrer (Ferramentas :: DisplayError ());
 
$ result = Db :: getInstance () -> getRow ('
SELECIONE `id_hook`,` name`
Do `'._DB_PREFIX _.' Hook`
ONDE `name` = \ '' psql ($ hookName).. '\' ');
 
retorno ($ result $ result ['id_hook']: false);
}
 
/ **
* Chamado quando a quantidade de um produto é atualizado.
*
* @ Param Produto
* @ Param Ordem
* /
NewOrder public static function ($ carrinho, $ fim, $ cliente, $ moeda, $ OrderStatus)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('NewOrder', array (
'carrinho' => $ carrinho,
'ordem' => $ pedido,
=> $ cliente 'cliente',
'moeda' => $ moeda,
'OrderStatus' => $ OrderStatus));
}
 
/ **
*deprecated 1.5.0
* /
updateQuantity public static function ($ produto, $ order = null)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('updateQuantity', array (=> $ product 'produto', 'ordem' => $ ordem));
}
 
/ **
*deprecated 1.5.0
* /
productFooter função pública estático ($ produto, categoria $)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('productFooter', array (=> $ product 'produto', 'categoria' => $ category));
}
 
/ **
*deprecated 1.5.0
* /
productOutOfStock função pública estático ($ product)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('productOutOfStock', array (=> $ product 'produto'));
}
 
/ **
*deprecated 1.5.0
* /
addProduct função pública estático ($ product)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('addProduct', array (=> $ product 'produto'));
}
 
/ **
*deprecated 1.5.0
* /
UpdateProduct função pública estático ($ product)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('UpdateProduct', array (=> $ product 'produto'));
}
 
/ **
*deprecated 1.5.0
* /
deleteProduct função pública estático ($ product)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('deleteProduct', array (=> $ product 'produto'));
}
 
/ **
*deprecated 1.5.0
* /
public static function updateProductAttribute ($ id_product_attribute)
{
Ferramentas :: displayAsDeprecated ();
Gancho retorno :: exec ('updateProductAttribute', array ('id_product_attribute' => $ id_product_attribute));
}
}

 

 
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...