<?php
session_start(); // Initialize session data
ob_start(); // Turn on output buffering
?>
<?php include "ewcfg6.php" ?>
<?php include "ewmysql6.php" ?>
<?php include "phpfn6.php" ?>
<?php include "productoinfo.php" ?>
<?php include "categoriainfo.php" ?>
<?php include "linea_productoinfo.php" ?>
<?php include "usuarioinfo.php" ?>
<?php include "userfn6.php" ?>
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1 
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
?>
<?php

// Define page object
$producto_delete = new cproducto_delete();
$Page =& $producto_delete;

// Page init processing
$producto_delete->Page_Init();

// Page main processing
$producto_delete->Page_Main();
?>
<?php include "header.php" ?>
<script type="text/javascript">
<!--

// Create page object
var producto_delete = new ew_Page("producto_delete");

// page properties
producto_delete.PageID = "delete"; // page ID
var EW_PAGE_ID = producto_delete.PageID; // for backward compatibility

// extend page with Form_CustomValidate function
producto_delete.Form_CustomValidate = 
 function(fobj) { // DO NOT CHANGE THIS LINE!

 	// Your custom validation code here, return false if invalid. 
 	return true;
 }
<?php if (EW_CLIENT_VALIDATE) { ?>
producto_delete.ValidateRequired = true; // uses JavaScript validation
<?php } else { ?>
producto_delete.ValidateRequired = false; // no JavaScript validation
<?php } ?>

//-->
</script>
<script language="JavaScript" type="text/javascript">
<!--

// Write your client script here, no need to add script tags.
// To include another .js script, use:
// ew_ClientScriptInclude("my_javascript.js"); 
//-->

</script>
<?php

// Load records for display
$rs = $producto_delete->LoadRecordset();
$producto_deletelTotalRecs = $rs->RecordCount(); // Get record count
if ($producto_deletelTotalRecs <= 0) { // No record found, exit
	$rs->Close();
	$producto_delete->Page_Terminate("productolist.php"); // Return to list
}
?>
<p><span class="phpmaker">Borrar de TABLA: productos<br><br>
<a href="<?php echo $producto->getReturnUrl() ?>">Regresar</a></span></p>
<?php $producto_delete->ShowMessage() ?>
<form action="<?php echo ew_CurrentPage() ?>" method="post">
<p>
<input type="hidden" name="t" id="t" value="producto">
<input type="hidden" name="a_delete" id="a_delete" value="D">
<?php foreach ($producto_delete->arRecKeys as $key) { ?>
<input type="hidden" name="key_m[]" id="key_m[]" value="<?php echo ew_HtmlEncode($key) ?>">
<?php } ?>
<table class="ewGrid"><tr><td class="ewGridContent">
<div class="ewGridMiddlePanel">
<table cellspacing="0" class="ewTable ewTableSeparate">
<?php echo $producto->TableCustomInnerHtml ?>
	<thead>
	<tr class="ewTableHeader">
		<td valign="top">codigo</td>
		<td valign="top">cod DT</td>
		<td valign="top">descripción</td>
		<td valign="top">stk</td>
		<td valign="top">PVP</td>
		<td valign="top">cat</td>
		<td valign="top">activo</td>
	</tr>
	</thead>
	<tbody>
<?php
$producto_delete->lRecCnt = 0;
$i = 0;
while (!$rs->EOF) {
	$producto_delete->lRecCnt++;

	// Set row properties
	$producto->CssClass = "";
	$producto->CssStyle = "";
	$producto->RowType = EW_ROWTYPE_VIEW; // View

	// Get the field contents
	$producto_delete->LoadRowValues($rs);

	// Render row
	$producto_delete->RenderRow();
?>
	<tr<?php echo $producto->RowAttributes() ?>>
		<td<?php echo $producto->cod_producto->CellAttributes() ?>>
<div<?php echo $producto->cod_producto->ViewAttributes() ?>><?php echo $producto->cod_producto->ListViewValue() ?></div></td>
		<td<?php echo $producto->cod_pvDT->CellAttributes() ?>>
<div<?php echo $producto->cod_pvDT->ViewAttributes() ?>><?php echo $producto->cod_pvDT->ListViewValue() ?></div></td>
		<td<?php echo $producto->des_producto->CellAttributes() ?>>
<div<?php echo $producto->des_producto->ViewAttributes() ?>><?php echo $producto->des_producto->ListViewValue() ?></div></td>
		<td<?php echo $producto->stk_disponible->CellAttributes() ?>>
<div<?php echo $producto->stk_disponible->ViewAttributes() ?>><?php echo $producto->stk_disponible->ListViewValue() ?></div></td>
		<td<?php echo $producto->pre_venta_publico->CellAttributes() ?>>
<div<?php echo $producto->pre_venta_publico->ViewAttributes() ?>><?php echo $producto->pre_venta_publico->ListViewValue() ?></div></td>
		<td<?php echo $producto->displayCat->CellAttributes() ?>>
<div<?php echo $producto->displayCat->ViewAttributes() ?>><?php echo $producto->displayCat->ListViewValue() ?></div></td>
		<td<?php echo $producto->ind_activo->CellAttributes() ?>>
<div<?php echo $producto->ind_activo->ViewAttributes() ?>><?php echo $producto->ind_activo->ListViewValue() ?></div></td>
	</tr>
<?php
	$rs->MoveNext();
}
$rs->Close();
?>
</tbody>
</table>
</div>
</td></tr></table>
<p>
<input type="submit" name="Action" id="Action" value="Confirmar Borrado">
</form>
<script language="JavaScript" type="text/javascript">
<!--

// Write your table-specific startup script here
// document.write("page loaded");
//-->

</script>
<?php include "footer.php" ?>
<?php

//
// Page Class
//
class cproducto_delete {

	// Page ID
	var $PageID = 'delete';

	// Table Name
	var $TableName = 'producto';

	// Page Object Name
	var $PageObjName = 'producto_delete';

	// Page Name
	function PageName() {
		return ew_CurrentPage();
	}

	// Page Url
	function PageUrl() {
		$PageUrl = ew_CurrentPage() . "?";
		global $producto;
		if ($producto->UseTokenInUrl) $PageUrl .= "t=" . $producto->TableVar . "&"; // add page token
		return $PageUrl;
	}

	// Message
	function getMessage() {
		return @$_SESSION[EW_SESSION_MESSAGE];
	}

	function setMessage($v) {
		if (@$_SESSION[EW_SESSION_MESSAGE] <> "") { // Append
			$_SESSION[EW_SESSION_MESSAGE] .= "<br>" . $v;
		} else {
			$_SESSION[EW_SESSION_MESSAGE] = $v;
		}
	}

	// Show Message
	function ShowMessage() {
		if ($this->getMessage() <> "") { // Message in Session, display
			echo "<p><span class=\"ewMessage\">" . $this->getMessage() . "</span></p>";
			$_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session
		}
	}

	// Validate Page request
	function IsPageRequest() {
		global $objForm, $producto;
		if ($producto->UseTokenInUrl) {

			//IsPageRequest = False
			if ($objForm)
				return ($producto->TableVar == $objForm->GetValue("t"));
			if (@$_GET["t"] <> "")
				return ($producto->TableVar == $_GET["t"]);
		} else {
			return TRUE;
		}
	}

	//
	//  Class initialize
	//  - init objects
	//  - open connection
	//
	function cproducto_delete() {
		global $conn;

		// Initialize table object
		$GLOBALS["producto"] = new cproducto();

		// Initialize other table object
		$GLOBALS['categoria'] = new ccategoria();

		// Initialize other table object
		$GLOBALS['linea_producto'] = new clinea_producto();

		// Initialize other table object
		$GLOBALS['usuario'] = new cusuario();

		// Intialize page id (for backward compatibility)
		if (!defined("EW_PAGE_ID"))
			define("EW_PAGE_ID", 'delete', TRUE);

		// Initialize table name (for backward compatibility)
		if (!defined("EW_TABLE_NAME"))
			define("EW_TABLE_NAME", 'producto', TRUE);

		// Open connection to the database
		$conn = ew_Connect();
	}

	// 
	//  Page_Init
	//
	function Page_Init() {
		global $gsExport, $gsExportFile, $producto;
		global $Security;
		$Security = new cAdvancedSecurity();
		if (!$Security->IsLoggedIn()) $Security->AutoLogin();
		if (!$Security->IsLoggedIn()) {
			$Security->SaveLastUrl();
			$this->Page_Terminate("login.php");
		}

		// Global page loading event (in userfn6.php)
		Page_Loading();

		// Page load event, used in current page
		$this->Page_Load();
	}

	//
	//  Page_Terminate
	//  - called when exit page
	//  - if URL specified, redirect to the URL
	//
	function Page_Terminate($url = "") {
		global $conn;

		// Page unload event, used in current page
		$this->Page_Unload();

		// Global page unloaded event (in userfn*.php)
		Page_Unloaded();

		 // Close Connection
		$conn->Close();

		// Go to URL if specified
		if ($url <> "") {
			ob_end_clean();
			header("Location: $url");
		}
		exit();
	}
	var $lTotalRecs;
	var $lRecCnt;
	var $arRecKeys = array();

	// Page main processing
	function Page_Main() {
		global $producto;

		// Load Key Parameters
		$sKey = "";
		$bSingleDelete = TRUE; // Initialize as single delete
		$nKeySelected = 0; // Initialize selected key count
		$sFilter = "";
		if (@$_GET["cod_producto"] <> "") {
			$producto->cod_producto->setQueryStringValue($_GET["cod_producto"]);
			$sKey .= $producto->cod_producto->QueryStringValue;
		} else {
			$bSingleDelete = FALSE;
		}
		if ($bSingleDelete) {
			$nKeySelected = 1; // Set up key selected count
			$this->arRecKeys[0] = $sKey;
		} else {
			if (isset($_POST["key_m"])) { // Key in form
				$nKeySelected = count($_POST["key_m"]); // Set up key selected count
				$this->arRecKeys = ew_StripSlashes($_POST["key_m"]);
			}
		}
		if ($nKeySelected <= 0)
			$this->Page_Terminate("productolist.php"); // No key specified, return to list

		// Build filter
		foreach ($this->arRecKeys as $sKey) {
			$sFilter .= "(";

			// Set up key field
			$sKeyFld = $sKey;
			$sFilter .= "`cod_producto`='" . ew_AdjustSql($sKeyFld) . "' AND ";
			if (substr($sFilter, -5) == " AND ") $sFilter = substr($sFilter, 0, strlen($sFilter)-5) . ") OR ";
		}
		if (substr($sFilter, -4) == " OR ") $sFilter = substr($sFilter, 0, strlen($sFilter)-4);

		// Set up filter (SQL WhHERE clause) and get return SQL
		// SQL constructor in SQL constructor in producto class, productoinfo.php

		$producto->CurrentFilter = $sFilter;

		// Get action
		if (@$_POST["a_delete"] <> "") {
			$producto->CurrentAction = $_POST["a_delete"];
		} else {
			$producto->CurrentAction = "I"; // Display record
		}
		switch ($producto->CurrentAction) {
			case "D": // Delete
				$producto->SendEmail = TRUE; // Send email on delete success
				if ($this->DeleteRows()) { // delete rows
					$this->setMessage("Borrado con exito"); // Set up success message
					$this->Page_Terminate($producto->getReturnUrl()); // Return to caller
				}
		}
	}

	//
	//  Function DeleteRows
	//  - Delete Records based on current filter
	//
	function DeleteRows() {
		global $conn, $Security, $producto;
		$DeleteRows = TRUE;
		$sWrkFilter = $producto->CurrentFilter;

		// Set up filter (Sql Where Clause) and get Return SQL
		// SQL constructor in producto class, productoinfo.php

		$producto->CurrentFilter = $sWrkFilter;
		$sSql = $producto->SQL();
		$conn->raiseErrorFn = 'ew_ErrorFn';
		$rs = $conn->Execute($sSql);
		$conn->raiseErrorFn = '';
		if ($rs === FALSE) {
			return FALSE;
		} elseif ($rs->EOF) {
			$this->setMessage("No se encontraron registros"); // No record found
			$rs->Close();
			return FALSE;
		}
		$conn->BeginTrans();

		// Clone old rows
		$rsold = ($rs) ? $rs->GetRows() : array();
		if ($rs) $rs->Close();

		// Call row deleting event
		if ($DeleteRows) {
			foreach ($rsold as $row) {
				$DeleteRows = $producto->Row_Deleting($row);
				if (!$DeleteRows) break;
			}
		}
		if ($DeleteRows) {
			$sKey = "";
			foreach ($rsold as $row) {
				$sThisKey = "";
				if ($sThisKey <> "") $sThisKey .= EW_COMPOSITE_KEY_SEPARATOR;
				$sThisKey .= $row['cod_producto'];
				@unlink(ew_UploadPathEx(TRUE, EW_UPLOAD_DEST_PATH) . $row['des_imagen_pequena']);
				@unlink(ew_UploadPathEx(TRUE, EW_UPLOAD_DEST_PATH) . $row['des_imagen_grande']);
				$conn->raiseErrorFn = 'ew_ErrorFn';
				$DeleteRows = $conn->Execute($producto->DeleteSQL($row)); // Delete
				$conn->raiseErrorFn = '';
				if ($DeleteRows === FALSE)
					break;
				if ($sKey <> "") $sKey .= ", ";
				$sKey .= $sThisKey;
			}
		} else {

			// Set up error message
			if ($producto->CancelMessage <> "") {
				$this->setMessage($producto->CancelMessage);
				$producto->CancelMessage = "";
			} else {
				$this->setMessage("Borrar cancelado");
			}
		}
		if ($DeleteRows) {
			$conn->CommitTrans(); // Commit the changes
		} else {
			$conn->RollbackTrans(); // Rollback changes
		}

		// Call recordset deleted event
		if ($DeleteRows) {
			foreach ($rsold as $row) {
				$producto->Row_Deleted($row);
			}	
		}
		return $DeleteRows;
	}

	// Load recordset
	function LoadRecordset($offset = -1, $rowcnt = -1) {
		global $conn, $producto;

		// Call Recordset Selecting event
		$producto->Recordset_Selecting($producto->CurrentFilter);

		// Load list page SQL
		$sSql = $producto->SelectSQL();
		if ($offset > -1 && $rowcnt > -1) $sSql .= " LIMIT $offset, $rowcnt";

		// Load recordset
		$conn->raiseErrorFn = 'ew_ErrorFn';	
		$rs = $conn->Execute($sSql);
		$conn->raiseErrorFn = '';

		// Call Recordset Selected event
		$producto->Recordset_Selected($rs);
		return $rs;
	}

	// Load row based on key values
	function LoadRow() {
		global $conn, $Security, $producto;
		$sFilter = $producto->KeyFilter();

		// Call Row Selecting event
		$producto->Row_Selecting($sFilter);

		// Load sql based on filter
		$producto->CurrentFilter = $sFilter;
		$sSql = $producto->SQL();
		if ($rs = $conn->Execute($sSql)) {
			if ($rs->EOF) {
				$LoadRow = FALSE;
			} else {
				$LoadRow = TRUE;
				$rs->MoveFirst();
				$this->LoadRowValues($rs); // Load row values

				// Call Row Selected event
				$producto->Row_Selected($rs);
			}
			$rs->Close();
		} else {
			$LoadRow = FALSE;
		}
		return $LoadRow;
	}

	// Load row values from recordset
	function LoadRowValues(&$rs) {
		global $producto;
		$producto->id->setDbValue($rs->fields('id'));
		$producto->cod_producto->setDbValue($rs->fields('cod_producto'));
		$producto->cod_pvDT->setDbValue($rs->fields('cod_pvDT'));
		$producto->cod_proveedor->setDbValue($rs->fields('cod_proveedor'));
		$producto->cod_tipo_moneda->setDbValue($rs->fields('cod_tipo_moneda'));
		$producto->cod_tipo_solucion->setDbValue($rs->fields('cod_tipo_solucion'));
		$producto->cod_unidad_medida->setDbValue($rs->fields('cod_unidad_medida'));
		$producto->cod_tipo_producto->setDbValue($rs->fields('cod_tipo_producto'));
		$producto->cod_tipo_inventario->setDbValue($rs->fields('cod_tipo_inventario'));
		$producto->cod_garantia->setDbValue($rs->fields('cod_garantia'));
		$producto->cod_linea_producto->setDbValue($rs->fields('cod_linea_producto'));
		$producto->cod_categoria->setDbValue($rs->fields('cod_categoria'));
		$producto->cod_marca->setDbValue($rs->fields('cod_marca'));
		$producto->des_producto->setDbValue($rs->fields('des_producto'));
		$producto->des_adicional->setDbValue($rs->fields('des_adicional'));
		$producto->des_tecnicas->setDbValue($rs->fields('des_tecnicas'));
		$producto->des_palabra_busqueda->setDbValue($rs->fields('des_palabra_busqueda'));
		$producto->stk_disponible->setDbValue($rs->fields('stk_disponible'));
		$producto->stk_minimo->setDbValue($rs->fields('stk_minimo'));
		$producto->pre_costo_promedio_anterior->setDbValue($rs->fields('pre_costo_promedio_anterior'));
		$producto->pre_costo_promedio->setDbValue($rs->fields('pre_costo_promedio'));
		$producto->pre_venta_publico_anterior->setDbValue($rs->fields('pre_venta_publico_anterior'));
		$producto->pre_venta_publico->setDbValue($rs->fields('pre_venta_publico'));
		$producto->pre_venta_corporativo_anterior->setDbValue($rs->fields('pre_venta_corporativo_anterior'));
		$producto->pre_venta_corporativo->setDbValue($rs->fields('pre_venta_corporativo'));
		$producto->pre_venta_minimo->setDbValue($rs->fields('pre_venta_minimo'));
		$producto->pre_oferta->setDbValue($rs->fields('pre_oferta'));
		$producto->fec_inicio_oferta->setDbValue($rs->fields('fec_inicio_oferta'));
		$producto->fec_fin_oferta->setDbValue($rs->fields('fec_fin_oferta'));
		$producto->des_web_referencial->setDbValue($rs->fields('des_web_referencial'));
		$producto->ind_activo_web->setDbValue($rs->fields('ind_activo_web'));
		$producto->des_imagen_pequena->Upload->DbValue = $rs->fields('des_imagen_pequena');
		$producto->des_imagen_grande->Upload->DbValue = $rs->fields('des_imagen_grande');
		$producto->num_mes->setDbValue($rs->fields('num_mes'));
		$producto->num_trimestre->setDbValue($rs->fields('num_trimestre'));
		$producto->num_ano->setDbValue($rs->fields('num_ano'));
		$producto->displayConf->setDbValue($rs->fields('displayConf'));
		$producto->displayCat->setDbValue($rs->fields('displayCat'));
		$producto->ind_mostrar_categoria->setDbValue($rs->fields('ind_mostrar_categoria'));
		$producto->ind_mostrar_portal->setDbValue($rs->fields('ind_mostrar_portal'));
		$producto->ind_oferta->setDbValue($rs->fields('ind_oferta'));
		$producto->ind_activo->setDbValue($rs->fields('ind_activo'));
		$producto->cod_usuario_registro->setDbValue($rs->fields('cod_usuario_registro'));
		$producto->fec_registro->setDbValue($rs->fields('fec_registro'));
		$producto->cod_usuario_modificacion->setDbValue($rs->fields('cod_usuario_modificacion'));
		$producto->fec_ultima_modificacion->setDbValue($rs->fields('fec_ultima_modificacion'));
	}

	// Render row values based on field settings
	function RenderRow() {
		global $conn, $Security, $producto;

		// Call Row_Rendering event
		$producto->Row_Rendering();

		// Common render codes for all row types
		// cod_producto

		$producto->cod_producto->CellCssStyle = "";
		$producto->cod_producto->CellCssClass = "";

		// cod_pvDT
		$producto->cod_pvDT->CellCssStyle = "";
		$producto->cod_pvDT->CellCssClass = "";

		// des_producto
		$producto->des_producto->CellCssStyle = "";
		$producto->des_producto->CellCssClass = "";

		// stk_disponible
		$producto->stk_disponible->CellCssStyle = "";
		$producto->stk_disponible->CellCssClass = "";

		// pre_venta_publico
		$producto->pre_venta_publico->CellCssStyle = "";
		$producto->pre_venta_publico->CellCssClass = "";

		// displayCat
		$producto->displayCat->CellCssStyle = "";
		$producto->displayCat->CellCssClass = "";

		// ind_activo
		$producto->ind_activo->CellCssStyle = "";
		$producto->ind_activo->CellCssClass = "";
		if ($producto->RowType == EW_ROWTYPE_VIEW) { // View row

			// cod_producto
			$producto->cod_producto->ViewValue = $producto->cod_producto->CurrentValue;
			$producto->cod_producto->CssStyle = "";
			$producto->cod_producto->CssClass = "";
			$producto->cod_producto->ViewCustomAttributes = "";

			// cod_pvDT
			$producto->cod_pvDT->ViewValue = $producto->cod_pvDT->CurrentValue;
			$producto->cod_pvDT->CssStyle = "";
			$producto->cod_pvDT->CssClass = "";
			$producto->cod_pvDT->ViewCustomAttributes = "";

			// des_producto
			$producto->des_producto->ViewValue = $producto->des_producto->CurrentValue;
			$producto->des_producto->CssStyle = "";
			$producto->des_producto->CssClass = "";
			$producto->des_producto->ViewCustomAttributes = "";

			// stk_disponible
			$producto->stk_disponible->ViewValue = $producto->stk_disponible->CurrentValue;
			$producto->stk_disponible->CssStyle = "";
			$producto->stk_disponible->CssClass = "";
			$producto->stk_disponible->ViewCustomAttributes = "";

			// pre_venta_publico
			$producto->pre_venta_publico->ViewValue = $producto->pre_venta_publico->CurrentValue;
			$producto->pre_venta_publico->CssStyle = "";
			$producto->pre_venta_publico->CssClass = "";
			$producto->pre_venta_publico->ViewCustomAttributes = "";

			// displayCat
			if (strval($producto->displayCat->CurrentValue) <> "") {
				switch ($producto->displayCat->CurrentValue) {
					case "1":
						$producto->displayCat->ViewValue = "Si";
						break;
					case "0":
						$producto->displayCat->ViewValue = "No";
						break;
					default:
						$producto->displayCat->ViewValue = $producto->displayCat->CurrentValue;
				}
			} else {
				$producto->displayCat->ViewValue = NULL;
			}
			$producto->displayCat->CssStyle = "";
			$producto->displayCat->CssClass = "";
			$producto->displayCat->ViewCustomAttributes = "";

			// ind_activo
			if (strval($producto->ind_activo->CurrentValue) <> "") {
				switch ($producto->ind_activo->CurrentValue) {
					case "1":
						$producto->ind_activo->ViewValue = "Si";
						break;
					case "0":
						$producto->ind_activo->ViewValue = "No";
						break;
					default:
						$producto->ind_activo->ViewValue = $producto->ind_activo->CurrentValue;
				}
			} else {
				$producto->ind_activo->ViewValue = NULL;
			}
			$producto->ind_activo->CssStyle = "";
			$producto->ind_activo->CssClass = "";
			$producto->ind_activo->ViewCustomAttributes = "";

			// cod_producto
			$producto->cod_producto->HrefValue = "";

			// cod_pvDT
			$producto->cod_pvDT->HrefValue = "";

			// des_producto
			$producto->des_producto->HrefValue = "";

			// stk_disponible
			$producto->stk_disponible->HrefValue = "";

			// pre_venta_publico
			$producto->pre_venta_publico->HrefValue = "";

			// displayCat
			$producto->displayCat->HrefValue = "";

			// ind_activo
			$producto->ind_activo->HrefValue = "";
		}

		// Call Row Rendered event
		$producto->Row_Rendered();
	}

	// Page Load event
	function Page_Load() {

		//echo "Page Load";
	}

	// Page Unload event
	function Page_Unload() {

		//echo "Page Unload";
	}
}
?>
