<?php session_start();
  if (isset($_GET["order"])) $order = @$_GET["order"];
  if (isset($_GET["type"])) $ordtype = @$_GET["type"];

  if (isset($_POST["filter"])) $filter = @$_POST["filter"];
  if (isset($_POST["filter_field"])) $filterfield = @$_POST["filter_field"];
  $wholeonly = false;
  if (isset($_POST["wholeonly"])) $wholeonly = @$_POST["wholeonly"];

  if (!isset($order) && isset($_SESSION["order"])) $order = $_SESSION["order"];
  if (!isset($ordtype) && isset($_SESSION["type"])) $ordtype = $_SESSION["type"];
  if (!isset($filter) && isset($_SESSION["filter"])) $filter = $_SESSION["filter"];
  if (!isset($filterfield) && isset($_SESSION["filter_field"])) $filterfield = $_SESSION["filter_field"];

?>

<html>
<head>
<title>ceulac_sadce -- planes_estudio</title>
<meta name="generator" http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
  body {
    background-color: #FFFFFF;
    color: #000000;
    font-family: Arial;
    font-size: 12px;
  }
  .bd {
    background-color: #FFFFFF;
    color: #000000;
    font-family: Arial;
    font-size: 12px;
  }
  .tbl {
    background-color: #FFFFFF;
  }
  a:link { 
    background-color: #FFFFFF01;
    color: #FF0000;
    font-family: Arial;
    font-size: 12px;
  }
  a:active { 
    background-color: #FFFFFF01;
    color: #0000FF;
    font-family: Arial;
    font-size: 12px;
  }
  a:visited { 
    background-color: #FFFFFF01;
    color: #800080;
    font-family: Arial;
    font-size: 12px;
  }
  .hr {
    background-color: #336699;
    color: #FFFFFF;
    font-family: Arial;
    font-size: 12px;
  }
  a.hr:link {
    color: #FFFFFF;
    font-family: Arial;
    font-size: 12px;
  }
  a.hr:active {
    color: #FFFFFF;
    font-family: Arial;
    font-size: 12px;
  }
  a.hr:visited {
    color: #FFFFFF;
    font-family: Arial;
    font-size: 12px;
  }
  .dr {
    background-color: #FFFFFF;
    color: #000000;
    font-family: Arial;
    font-size: 12px;
  }
  .sr {
    background-color: #FFFFCF;
    color: #000000;
    font-family: Arial;
    font-size: 12px;
  }
</style>
</head>
<body>
<table class="bd" width="100%"><tr><td class="hr"><h2>Planes de Estudio</h2><Recursos/td></tr></table>
<?php
  $conn = connect();
  $showrecs = 100;
  $pagerange = 100;

  $a = @$_GET["a"];
  $recid = @$_GET["recid"];
  $page = @$_GET["page"];
  if (!isset($page)) $page = 1;

  $sql = @$_POST["sql"];

  switch ($sql) {
    case "insert":
      sql_insert();
      break;
    case "update":
      sql_update();
      break;
    case "delete":
      sql_delete();
      break;
  }

  switch ($a) {
    case "add":
      addrec();
      break;
    case "view":
      viewrec($recid);
      break;
    case "edit":
      editrec($recid);
      break;
    case "del":
      deleterec($recid);
      break;
    default:
      select();
      break;
  }

  if (isset($order)) $_SESSION["order"] = $order;
  if (isset($ordtype)) $_SESSION["type"] = $ordtype;
  if (isset($filter)) $_SESSION["filter"] = $filter;
  if (isset($filterfield)) $_SESSION["filter_field"] = $filterfield;
  if (isset($wholeonly)) $_SESSION["wholeonly"] = $wholeonly;

  mysql_close($conn);
?>
<table class="bd" width="100%"><tr><td class="hr"></td></tr></table>
</body>
</html>

<?php function select()
  {
  global $a;
  global $showrecs;
  global $page;
  global $filter;
  global $filterfield;
  global $wholeonly;
  global $order;
  global $ordtype;


  if ($a == "reset") {
    $filter = "";
    $filterfield = "";
    $wholeonly = "";
    $order = "";
    $ordtype = "";
  }

  $checkstr = "";
  if ($wholeonly) $checkstr = " checked";
  if ($ordtype == "asc") { $ordtypestr = "desc"; } else { $ordtypestr = "asc"; }
  $res = sql_select();
  $count = sql_getrecordcount();
  if ($count % $showrecs != 0) {
    $pagecount = intval($count / $showrecs) + 1;
  }
  else {
    $pagecount = intval($count / $showrecs);
  }
  $startrec = $showrecs * ($page - 1);
  if ($startrec < $count) {mysql_data_seek($res, $startrec);}
  $reccount = min($showrecs * $page, $count);
?>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr><td>Tabla: planes_estudio</td></tr>
<tr><td>Registros <?php echo $startrec + 1 ?> - <?php echo $reccount ?> de <?php echo $count ?></td></tr>
</table>
<hr size="1" noshade>
<form action="planes_estudio.php" method="post">
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<td><b>Filtrar por</b>&nbsp;</td>
<td><input type="text" name="filter" value="<?php echo $filter ?>"></td>
<td><select name="filter_field">
<option value="">Todos los Campos</option>
<option value="<?php echo "id_carrera" ?>"<?php if ($filterfield == "id_carrera") { echo "selected"; } ?>><?php echo htmlspecialchars("id_carrera") ?></option>
<option value="<?php echo "id_materia" ?>"<?php if ($filterfield == "id_materia") { echo "selected"; } ?>><?php echo htmlspecialchars("id_materia") ?></option>
<option value="<?php echo "nombre_materia" ?>"<?php if ($filterfield == "nombre_materia") { echo "selected"; } ?>><?php echo htmlspecialchars("nombre_materia") ?></option>
<option value="<?php echo "semestre" ?>"<?php if ($filterfield == "semestre") { echo "selected"; } ?>><?php echo htmlspecialchars("semestre") ?></option>
</select></td>
<td><input type="checkbox" name="wholeonly"<?php echo $checkstr ?>>Palabra Completa</td>
</td></tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="action" value="Aplicar Filtro"></td>
<td><a href="planes_estudio.php?a=reset">Quitar Filtro</a></td>
</tr>
</table>
</form>
<hr size="1" noshade>
<?php showpagenav($page, $pagecount); ?>
<br>
<table class="tbl" border="0" cellspacing="1" cellpadding="5"width="100%">
<tr>
<td class="hr">&nbsp;</td>
<td class="hr">&nbsp;</td>
<td class="hr">&nbsp;</td>
<td class="hr"><a class="hr" href="planes_estudio.php?order=<?php echo "id_carrera" ?>&type=<?php echo $ordtypestr ?>"><?php echo htmlspecialchars("id_carrera") ?></a></td>
<td class="hr"><a class="hr" href="planes_estudio.php?order=<?php echo "id_materia" ?>&type=<?php echo $ordtypestr ?>"><?php echo htmlspecialchars("id_materia") ?></a></td>
<td class="hr"><a class="hr" href="planes_estudio.php?order=<?php echo "nombre_materia" ?>&type=<?php echo $ordtypestr ?>"><?php echo htmlspecialchars("nombre_materia") ?></a></td>
<td class="hr"><a class="hr" href="planes_estudio.php?order=<?php echo "semestre" ?>&type=<?php echo $ordtypestr ?>"><?php echo htmlspecialchars("semestre") ?></a></td>
</tr>
<?php
  for ($i = $startrec; $i < $reccount; $i++)
  {
    $row = mysql_fetch_assoc($res);
    $style = "dr";
    if ($i % 2 != 0) {
      $style = "sr";
    }
?>
<tr>
<td class="<?php echo $style ?>"><a href="planes_estudio.php?a=view&recid=<?php echo $i ?>">Ver</a></td>
<td class="<?php echo $style ?>"><a href="planes_estudio.php?a=edit&recid=<?php echo $i ?>">Editar</a></td>
<td class="<?php echo $style ?>"><a href="planes_estudio.php?a=del&recid=<?php echo $i ?>">Borrar</a></td>
<td class="<?php echo $style ?>"><?php echo htmlspecialchars($row["id_carrera"]) ?></td>
<td class="<?php echo $style ?>"><?php echo htmlspecialchars($row["id_materia"]) ?></td>
<td class="<?php echo $style ?>"><?php echo htmlspecialchars($row["nombre_materia"]) ?></td>
<td class="<?php echo $style ?>"><?php echo htmlspecialchars($row["semestre"]) ?></td>
</tr>
<?php
  }
  mysql_free_result($res);
?>
</table>
<br>
<?php showpagenav($page, $pagecount); ?>
<?php } ?>

<?php function showrow($row, $recid)
  {
?>
<table class="tbl" border="0" cellspacing="1" cellpadding="5"width="50%">
<tr>
<td class="hr"><?php echo htmlspecialchars("id_carrera")."&nbsp;" ?></td>
<td class="dr"><?php echo htmlspecialchars($row["id_carrera"]) ?></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("id_materia")."&nbsp;" ?></td>
<td class="dr"><?php echo htmlspecialchars($row["id_materia"]) ?></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("nombre_materia")."&nbsp;" ?></td>
<td class="dr"><?php echo htmlspecialchars($row["nombre_materia"]) ?></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("semestre")."&nbsp;" ?></td>
<td class="dr"><?php echo htmlspecialchars($row["semestre"]) ?></td>
</tr>
</table>
<?php } ?>

<?php function showroweditor($row, $iseditmode)
  {
  global $conn;
?>
<table class="tbl" border="0" cellspacing="1" cellpadding="5"width="50%">
<tr>
<td class="hr"><?php echo htmlspecialchars("id_carrera")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="id_carrera" maxlength="5" value="<?php echo str_replace('"', '&quot;', trim($row["id_carrera"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("id_materia")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="id_materia" maxlength="15" value="<?php echo str_replace('"', '&quot;', trim($row["id_materia"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("nombre_materia")."&nbsp;" ?></td>
<td class="dr"><textarea cols="35" rows="4" name="nombre_materia" maxlength="255"><?php echo str_replace('"', '&quot;', trim($row["nombre_materia"])) ?></textarea></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("semestre")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="semestre" value="<?php echo str_replace('"', '&quot;', trim($row["semestre"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("uc")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="uc" value="<?php echo str_replace('"', '&quot;', trim($row["uc"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("orden")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="orden" value="<?php echo str_replace('"', '&quot;', trim($row["orden"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("hp")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="hp" value="<?php echo str_replace('"', '&quot;', trim($row["hp"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("ht")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="ht" value="<?php echo str_replace('"', '&quot;', trim($row["ht"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("ths")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="ths" value="<?php echo str_replace('"', '&quot;', trim($row["ths"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("electiva")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="electiva" maxlength="2" value="<?php echo str_replace('"', '&quot;', trim($row["electiva"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("status")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="status" maxlength="8" value="<?php echo str_replace('"', '&quot;', trim($row["status"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("oferta")."&nbsp;" ?></td>
<td class="dr"><input type="text" name="oferta" maxlength="1" value="<?php echo str_replace('"', '&quot;', trim($row["oferta"])) ?>"></td>
</tr>
</table>
<?php } ?>

<?php function showpagenav($page, $pagecount)
{
?>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<td><a href="planes_estudio.php?a=add">Agregar </a>&nbsp;</td>
<?php if ($page > 1) { ?>
<td><a href="planes_estudio.php?page=<?php echo $page - 1 ?>">&lt;&lt;&nbsp;Anterior</a>&nbsp;</td>
<?php } ?>
<?php
  global $pagerange;

  if ($pagecount > 1) {

  if ($pagecount % $pagerange != 0) {
    $rangecount = intval($pagecount / $pagerange) + 1;
  }
  else {
    $rangecount = intval($pagecount / $pagerange);
  }
  for ($i = 1; $i < $rangecount + 1; $i++) {
    $startpage = (($i - 1) * $pagerange) + 1;
    $count = min($i * $pagerange, $pagecount);

    if ((($page >= $startpage) && ($page <= ($i * $pagerange)))) {
      for ($j = $startpage; $j < $count + 1; $j++) {
        if ($j == $page) {
?>
<td><b><?php echo $j ?></b></td>
<?php } else { ?>
<td><a href="planes_estudio.php?page=<?php echo $j ?>"><?php echo $j ?></a></td>
<?php } } } else { ?>
<td><a href="planes_estudio.php?page=<?php echo $startpage ?>"><?php echo $startpage ."..." .$count ?></a></td>
<?php } } } ?>
<?php if ($page < $pagecount) { ?>
<td>&nbsp;<a href="planes_estudio.php?page=<?php echo $page + 1 ?>">Siguiente&nbsp;&gt;&gt;</a>&nbsp;</td>
<?php } ?>
</tr>
</table>
<?php } ?>

<?php function showrecnav($a, $recid, $count)
{
?>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<td><a href="planes_estudio.php">Regresar</a></td>
<?php if ($recid > 0) { ?>
<td><a href="planes_estudio.php?a=<?php echo $a ?>&recid=<?php echo $recid - 1 ?>">Registro Anterior</a></td>
<?php } if ($recid < $count - 1) { ?>
<td><a href="planes_estudio.php?a=<?php echo $a ?>&recid=<?php echo $recid + 1 ?>">Siguiente Registro</a></td>
<?php } ?>
</tr>
</table>
<hr size="1" noshade>
<?php } ?>

<?php function addrec()
{
?>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<td><a href="planes_estudio.php">Regresar</a></td>
</tr>
</table>
<hr size="1" noshade>
<form enctype="multipart/form-data" action="planes_estudio.php" method="post">
<p><input type="hidden" name="sql" value="insert"></p>
<?php
$row = array(
  "id_carrera" => "",
  "id_materia" => "",
  "nombre_materia" => "",
  "semestre" => "",
  "uc" => "",
  "orden" => "",
  "hp" => "",
  "ht" => "",
  "ths" => "",
  "electiva" => "",
  "status" => "",
  "oferta" => "");
showroweditor($row, false);
?>
<p><input type="submit" name="action" value="Guardar"></p>
</form>
<?php } ?>

<?php function viewrec($recid)
{
  $res = sql_select();
  $count = sql_getrecordcount();
  mysql_data_seek($res, $recid);
  $row = mysql_fetch_assoc($res);
  showrecnav("view", $recid, $count);
?>
<br>
<?php showrow($row, $recid) ?>
<br>
<hr size="1" noshade>
<table class="bd" border="0" cellspacing="1" cellpadding="4">
<tr>
<td><a href="planes_estudio.php?a=add">Agregar </a></td>
<td><a href="planes_estudio.php?a=edit&recid=<?php echo $recid ?>">Editar </a></td>
<td><a href="planes_estudio.php?a=del&recid=<?php echo $recid ?>">Borrar </a></td>
</tr>
</table>
<?php
  mysql_free_result($res);
} ?>

<?php function editrec($recid)
{
  $res = sql_select();
  $count = sql_getrecordcount();
  mysql_data_seek($res, $recid);
  $row = mysql_fetch_assoc($res);
  showrecnav("edit", $recid, $count);
?>
<br>
<form enctype="multipart/form-data" action="planes_estudio.php" method="post">
<input type="hidden" name="sql" value="update">
<input type="hidden" name="xid_carrera" value="<?php echo $row["id_carrera"] ?>">
<input type="hidden" name="xid_materia" value="<?php echo $row["id_materia"] ?>">
<?php showroweditor($row, true); ?>
<p><input type="submit" name="action" value="Guardar"></p>
</form>
<?php
  mysql_free_result($res);
} ?>

<?php function deleterec($recid)
{
  $res = sql_select();
  $count = sql_getrecordcount();
  mysql_data_seek($res, $recid);
  $row = mysql_fetch_assoc($res);
  showrecnav("del", $recid, $count);
?>
<br>
<form action="planes_estudio.php" method="post">
<input type="hidden" name="sql" value="delete">
<input type="hidden" name="xid_carrera" value="<?php echo $row["id_carrera"] ?>">
<input type="hidden" name="xid_materia" value="<?php echo $row["id_materia"] ?>">
<?php showrow($row, $recid) ?>
<p><input type="submit" name="action" value="Confirmar"></p>
</form>
<?php
  mysql_free_result($res);
} ?>

<?php function connect()
{
  $conn = mysql_connect("localhost", "ceula_sadce_admi", "j7BnJdCGzyQBGcud");
  mysql_select_db("ceulac_sadce");
  return $conn;
}

function sqlvalue($val, $quote)
{
  if ($quote)
    $tmp = sqlstr($val);
  else
    $tmp = $val;
  if ($tmp == "")
    $tmp = "NULL";
  elseif ($quote)
    $tmp = "'".$tmp."'";
  return $tmp;
}

function sqlstr($val)
{
  return str_replace("'", "''", $val);
}

function sql_select()
{
  global $conn;
  global $order;
  global $ordtype;
  global $filter;
  global $filterfield;
  global $wholeonly;

  $filterstr = sqlstr($filter);
  if (!$wholeonly && isset($wholeonly) && $filterstr!='') $filterstr = "%" .$filterstr ."%";
  $sql = "SELECT `id_carrera`, `id_materia`, `nombre_materia`, `semestre`, `uc`, `orden`, `hp`, `ht`, `ths`, `electiva`, `status`, `oferta` FROM `planes_estudio`";
  if (isset($filterstr) && $filterstr!='' && isset($filterfield) && $filterfield!='') {
    $sql .= " where " .sqlstr($filterfield) ." like '" .$filterstr ."'";
  } elseif (isset($filterstr) && $filterstr!='') {
    $sql .= " where (`id_carrera` like '" .$filterstr ."') or (`id_materia` like '" .$filterstr ."') or (`nombre_materia` like '" .$filterstr ."') or (`semestre` like '" .$filterstr ."')";
  }
  if (isset($order) && $order!='') $sql .= " order by `" .sqlstr($order) ."`";
  if (isset($ordtype) && $ordtype!='') $sql .= " " .sqlstr($ordtype);
  $res = mysql_query($sql, $conn) or die(mysql_error());
  return $res;
}

function sql_getrecordcount()
{
  global $conn;
  global $order;
  global $ordtype;
  global $filter;
  global $filterfield;
  global $wholeonly;

  $filterstr = sqlstr($filter);
  if (!$wholeonly && isset($wholeonly) && $filterstr!='') $filterstr = "%" .$filterstr ."%";
  $sql = "SELECT COUNT(*) FROM `planes_estudio`";
  if (isset($filterstr) && $filterstr!='' && isset($filterfield) && $filterfield!='') {
    $sql .= " where " .sqlstr($filterfield) ." like '" .$filterstr ."'";
  } elseif (isset($filterstr) && $filterstr!='') {
    $sql .= " where (`id_carrera` like '" .$filterstr ."') or (`id_materia` like '" .$filterstr ."') or (`nombre_materia` like '" .$filterstr ."') or (`semestre` like '" .$filterstr ."')";
  }
  $res = mysql_query($sql, $conn) or die(mysql_error());
  $row = mysql_fetch_assoc($res);
  reset($row);
  return current($row);
}

function sql_insert()
{
  global $conn;
  global $_POST;

  $sql = "insert into `planes_estudio` (`id_carrera`, `id_materia`, `nombre_materia`, `semestre`, `uc`, `orden`, `hp`, `ht`, `ths`, `electiva`, `status`, `oferta`) values (" .sqlvalue(@$_POST["id_carrera"], true).", " .sqlvalue(@$_POST["id_materia"], true).", " .sqlvalue(@$_POST["nombre_materia"], true).", " .sqlvalue(@$_POST["semestre"], false).", " .sqlvalue(@$_POST["uc"], false).", " .sqlvalue(@$_POST["orden"], false).", " .sqlvalue(@$_POST["hp"], false).", " .sqlvalue(@$_POST["ht"], false).", " .sqlvalue(@$_POST["ths"], false).", " .sqlvalue(@$_POST["electiva"], true).", " .sqlvalue(@$_POST["status"], true).", " .sqlvalue(@$_POST["oferta"], true).")";
  mysql_query($sql, $conn) or die(mysql_error());
}

function sql_update()
{
  global $conn;
  global $_POST;

  $sql = "update `planes_estudio` set `id_carrera`=" .sqlvalue(@$_POST["id_carrera"], true).", `id_materia`=" .sqlvalue(@$_POST["id_materia"], true).", `nombre_materia`=" .sqlvalue(@$_POST["nombre_materia"], true).", `semestre`=" .sqlvalue(@$_POST["semestre"], false).", `uc`=" .sqlvalue(@$_POST["uc"], false).", `orden`=" .sqlvalue(@$_POST["orden"], false).", `hp`=" .sqlvalue(@$_POST["hp"], false).", `ht`=" .sqlvalue(@$_POST["ht"], false).", `ths`=" .sqlvalue(@$_POST["ths"], false).", `electiva`=" .sqlvalue(@$_POST["electiva"], true).", `status`=" .sqlvalue(@$_POST["status"], true).", `oferta`=" .sqlvalue(@$_POST["oferta"], true) ." where " .primarykeycondition();
  mysql_query($sql, $conn) or die(mysql_error());
}

function sql_delete()
{
  global $conn;

  $sql = "delete from `planes_estudio` where " .primarykeycondition();
  mysql_query($sql, $conn) or die(mysql_error());
}
function primarykeycondition()
{
  global $_POST;
  $pk = "";
  $pk .= "(`id_carrera`";
  if (@$_POST["xid_carrera"] == "") {
    $pk .= " IS NULL";
  }else{
  $pk .= " = " .sqlvalue(@$_POST["xid_carrera"], true);
  };
  $pk .= ") and ";
  $pk .= "(`id_materia`";
  if (@$_POST["xid_materia"] == "") {
    $pk .= " IS NULL";
  }else{
  $pk .= " = " .sqlvalue(@$_POST["xid_materia"], true);
  };
  $pk .= ")";
  return $pk;
}
 ?>
