Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.dbaccess.php');
require_once('class.categoriasubrubro.php');
require_once('class.rubros.php');
require_once('class.subrubros.php');
require_once('class.filter.php');
require_once('class.page.php');
require_once('class.estados.php');
class CategoriasSubrubro extends DBAccess implements IFilterable
{
public function ParseFilter(array $filter)
{
$sql = '';
if ((isset($filter['Nombre'])) && ($filter['Nombre'] != ''))
{
$sql.= " AND cs.Nombre LIKE '%" . DB::StringUnquoted($filter['Nombre']) . "%'";
}
if ((isset($filter['IdCategoria'])) && ($filter['IdCategoria'] != ''))
{
$sql.= " AND cs.IdCategoria = " . DB::Number($filter['IdCategoria']);
}
if ((isset($filter['IdEstado'])) && ($filter['IdEstado'] != ''))
{
$sql.= " AND cs.IdEstado = " . DB::Number($filter['IdEstado']);
}
if ((isset($filter['Orden'])) && ($filter['Orden'] != ''))
{
$sql.= " AND cs.Orden = " . DB::Number($filter['Orden']);
}
return $sql;
}
public function GetAll(array $filter = NULL, Page $oPage = NULL)
{
$sql = "SELECT cs.*";
$sql.= " FROM tblCategoriasSubrubros cs";
$sql.= " INNER JOIN tblCategorias c ON cs.IdCategoria = c.IdCategoria";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
$sql.= " ORDER BY c.Nombre, cs.Nombre ASC";
$sql.= ($oPage) ? Pageable::ParsePage($oPage) : "";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oCategoria = new CategoriaSubrubro();
$oCategoria->ParseFromArray($oRow);
array_push($arr, $oCategoria);
$oRes->MoveNext();
}
return $arr;
}
public function GetById($IdCategoriaSubrubro)
{
$sql = "SELECT cs.*";
$sql.= " FROM tblCategoriasSubrubros cs";
$sql.= " INNER JOIN tblCategorias c ON cs.IdCategoria = c.IdCategoria";
$sql.= " WHERE IdCategoriaSubrubro = " . DB::Number($IdCategoriaSubrubro);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oCategoria = new CategoriaSubrubro();
$oCategoria->ParseFromArray($oRow);
return $oCategoria;
}
public function GetByNombre($Nombre)
{
$sql = "SELECT cs.*";
$sql.= " FROM tblCategoriasSubrubros cs";
$sql.= " WHERE Nombre LIKE " . DB::String($Nombre);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oCategoria = new CategoriaSubrubro();
$oCategoria->ParseFromArray($oRow);
return $oCategoria;
}
public function GetAllByCategoria(Categoria $oCategoria)
{
$arr = array();
$sql = "SELECT cs.*";
$sql.= " FROM tblCategoriasSubrubros cs";
$sql.= " INNER JOIN tblCategorias c ON cs.IdCategoria = c.IdCategoria";
$sql.= " WHERE cs.IdCategoria = " . DB::Number($oCategoria->IdCategoria);
$sql.= " ORDER BY cs.Orden, cs.Nombre";
if ( !($oRes = $this->GetQuery($sql)) )
return false;
while ($oRow = $oRes->GetRow())
{
$oCategoria = new CategoriaSubrubro();
$oCategoria->ParseFromArray($oRow);
array_push($arr, $oCategoria);
$oRes->MoveNext();
}
return $arr;
}
public function GetCountRows(array $filter = NULL)
{
$sql = "SELECT cs.*";
$sql.= " FROM tblCategoriasSubrubros cs";
$sql.= " INNER JOIN tblCategorias c ON cs.IdCategoria = c.IdCategoria";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
if (!($oRes = $this->GetQuery($sql)))
return false;
$CountRows = $oRes->NumRows();
return $CountRows;
}
public function Create(CategoriaSubrubro $oCategoria)
{
$arr = array
(
'IdCategoria' => DB::Number($oCategoria->IdCategoria),
'KeyCategoria' => DB::String($oCategoria->KeyCategoria),
'Nombre' => DB::String($oCategoria->Nombre),
'Imagen' => DB::String($oCategoria->Imagen),
'Orden' => DB::Number($oCategoria->Orden),
'IdEstado' => DB::Number($oCategoria->IdEstado)
);
if (!$this->Insert('tblCategoriasSubrubros', $arr))
return false;
return $oCategoria;
}
public function Update(CategoriaSubrubro $oCategoria)
{
$where = " IdCategoriaSubrubro = " . DB::Number($oCategoria->IdCategoriaSubrubro);
$arr = array
(
'IdCategoria' => DB::Number($oCategoria->IdCategoria),
'KeyCategoria' => DB::String($oCategoria->KeyCategoria),
'Nombre' => DB::String($oCategoria->Nombre),
'Imagen' => DB::String($oCategoria->Imagen),
'Orden' => DB::Number($oCategoria->Orden),
'IdEstado' => DB::Number($oCategoria->IdEstado)
);
if (!DBAccess::UpdateEntidad('tblCategoriasSubrubros', $arr, $where))
return false;
return $oCategoria;
}
public function Delete($IdCategoriaSubrubro)
{
if (!DBAccess::$db->Begin())
return false;
$where = " IdCategoriaSubrubro = " . DB::Number($IdCategoriaSubrubro);
if (!DBAccess::DeleteEntidad('tblCategoriasSubrubros', $where))
{
DBAccess::$db->Rollback();
return false;
}
DBAccess::$db->Commit();
return true;
}
public function ExportCsv(array $filter = NULL)
{
if (!DBAccess::$db->Begin())
return false;
$oRubros = new Rubros();
$oSubrubros = new Subrubros();
$FileName = "Categorias.xls";
header("Pragma: no-cache");
header("Expires: -1");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Content-Type: application/x-unknown");
$header = "Content-Disposition: attachment; filename=" . $FileName . ";";
header($header);
$arrCategorias = $this->GetAll($filter);
$Separador = "\t";
$SaltoLinea = "\n";
$csv.= "Rubro";
$csv.= $Separador;
$csv.= "Subrubro";
$csv.= $Separador;
$csv.= "Categoria";
$csv.= $Separador;
$csv.= "Orden";
$csv.= $Separador;
$csv.= "Estado";
$csv.= $SaltoLinea;
foreach ($arrCategorias as $oCategoria)
{
$oSubrubro = $oSubrubros->GetById($oCategoria->IdCategoria);
$oRubro = $oRubros->GetById($oSubrubro->IdRubro);
$csv.= str_replace('(\t|\n)','', trim($oRubro->Nombre));
$csv.= $Separador;
$csv.= str_replace('(\t|\n)','', trim($oSubrubro->Nombre));
$csv.= $Separador;
$csv.= str_replace('(\t|\n)','', trim($oCategoria->Nombre));
$csv.= $Separador;
$csv.= str_replace('(\t|\n)','', trim($oCategoria->Orden));
$csv.= $Separador;
$csv.= str_replace('(\t|\n)','', trim(Estados::GetById($oCategoria->IdEstado)));
$csv.= $Separador;
$csv.= $SaltoLinea;
}
DBAccess::$db->Commit();
print($csv);
return true;
}
}
?>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat