Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.db.php');
require_once('class.dbaccess.php');
require_once('class.producto.php');
require_once('class.productorelacionado.php');
require_once('class.filter.php');
require_once('class.page.php');
class ProductoRelacionados extends DBAccess implements IFilterable
{
public function ParseFilter(array $filter)
{
$sql = '';
return $sql;
}
public function GetAll(array $filter = NULL, Page $oPage = NULL)
{
$sql = " SELECT cr.*,";
$sql.= " c1.Producto AS Producto,";
$sql.= " c2.Producto AS ProductoRelacionado";
$sql.= " FROM tblProductosRelacionados cr";
$sql.= " INNER JOIN tblProductos c1 ON cr.IdProducto = c1.IdProducto";
$sql.= " INNER JOIN tblProductos c2 ON cr.IdProductoRelacionado = c2.IdProducto";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
$sql.= " GROUP BY cr.IdProducto";
$sql.= " ORDER BY cr.IdProducto DESC";
$sql.= ($oPage) ? Pageable::ParsePage($oPage) : "";
if ( !($oRes = $this->GetQuery($sql)) )
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oProductoRelacionado = new ProductoRelacionado();
$oProductoRelacionado->ParseFromArray($oRow);
array_push($arr, $oProductoRelacionado);
$oRes->MoveNext();
}
return $arr;
}
public function GetAllByProducto(Producto $oProducto, $CantidadProductos = '')
{
$sql = " SELECT cr.*,";
$sql.= " c1.Producto AS Producto,";
$sql.= " c2.Producto AS ProductoRelacionado";
$sql.= " FROM tblProductosRelacionados cr";
$sql.= " INNER JOIN tblProductos c1 ON cr.IdProducto = c1.IdProducto";
$sql.= " INNER JOIN tblProductos c2 ON cr.IdProductoRelacionado = c2.IdProducto";
$sql.= " WHERE cr.IdProducto = " . DB::Number($oProducto->IdProducto);
$sql.= " ORDER BY c1.Producto ASC ";
if ($CantidadProductos != '')
$sql.= " LIMIT " . DB::Number($CantidadProductos);
if ( !($oRes = $this->GetQuery($sql)) )
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oProductoRelacionado = new ProductoRelacionado();
$oProductoRelacionado->ParseFromArray($oRow);
array_push($arr, $oProductoRelacionado);
$oRes->MoveNext();
}
return $arr;
}
public function GetById($IdProducto, $IdProductoRelacionado)
{
$sql = " SELECT cr.*,";
$sql.= " c1.Producto AS Producto,";
$sql.= " c2.Producto AS ProductoRelacionado";
$sql.= " FROM tblProductosRelacionados cr";
$sql.= " INNER JOIN tblProductos c1 ON cr.IdProducto = c1.IdProducto";
$sql.= " INNER JOIN tblProductos c2 ON cr.IdProductoRelacionado = c2.IdProducto";
$sql.= " WHERE cr.IdProducto = " . DB::Number($IdProducto);
$sql.= " AND cr.IdProductoRelacionado = " . DB::Number($IdProductoRelacionado);
if ( !($oRes = $this->GetQuery($sql)) )
return false;
if ( !($oRow = $oRes->GetRow()) )
return false;
$oProductoRelacionado = new ProductoRelacionado();
$oProductoRelacionado->ParseFromArray($oRow);
return $oProductoRelacionado;
}
public function GetCountRows(array $filter = NULL)
{
$sql = " SELECT cr.*,";
$sql.= " c1.Producto AS Producto,";
$sql.= " c2.Producto AS ProductoRelacionado";
$sql.= " FROM tblProductosRelacionados cr";
$sql.= " INNER JOIN tblProductos c1 ON cr.IdProducto = c1.IdProducto";
$sql.= " INNER JOIN tblProductos c2 ON cr.IdProductoRelacionado = c2.IdProducto";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
$sql.= " GROUP BY cr.IdProducto";
$sql.= " ORDER BY cr.IdProducto DESC";
if (!($oRes = $this->GetQuery($sql)))
return false;
$CountRows = $oRes->NumRows();
return $CountRows;
}
public function Create(ProductoRelacionado $oProductoRelacionado)
{
/* inicia una transaccion */
if (!DBAccess::$db->Begin())
return false;
$arr = array
(
'IdProducto' => DB::Number($oProductoRelacionado->IdProducto),
'IdProductoRelacionado' => DB::Number($oProductoRelacionado->IdProductoRelacionado)
);
if (!DBAccess::Insert('tblProductosRelacionados', $arr))
{
DBAccess::$db->Rollback();
return false;
}
$oProductoRelacionado->IdProductoRelacionado = DBAccess::GetLastInsertId();
/* finaliza la transaccion */
DBAccess::$db->Commit();
return $oProductoRelacionado;
}
public function Delete($IdProducto, $IdProductoRelacionado)
{
if (!DBAccess::$db->Begin())
return false;
$where = " IdProducto = " . DB::Number($IdProducto);
$where.= " AND IdProductoRelacionado = " . DB::Number($IdProductoRelacionado);
if (!DBAccess::DeleteEntidad('tblProductosRelacionados', $where))
{
DBAccess::$db->Rollback();
return false;
}
DBAccess::$db->Commit();
return true;
}
}
?>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat