<?php /******************************************************************** Archivo en donde editamos la configuracion del curso Proyecto: Codeando.org Author: Paulo Andrade Email: paulo_866@hotmail.com Web: http://www.pauloandrade1.com ********************************************************************/ $fnc = new Fnc(); $db = new Db(); // Obtenemos las variables $autor = $_SESSION['id']; $nivel = $_SESSION['nivel']; if (empty($_GET['id'])) { $id_curso = ''; } else { $id_curso = $_GET['id']; } if (empty($_GET['item'])) { $item = ''; } else { $item = $_GET['item']; } ?> <div class="alert"> <img src="/img/alert.png"> <p>En esta seccion podra introducir los temas y capitulos del curso, asi como videos, documentación e información sobre el mismo.</p> </div>
cursos Proyecto: Codeando.org Author: Paulo Andrade Web: http://www.pauloandrade1.com Email: source.compu@gmail.com ************************************************/ session_start(); set_time_limit(0); // Ajustamos la zona horaria date_default_timezone_set('America/Mexico_City'); // Importamos las clases require_once '../config.php'; require_once 'Fnc.php'; require_once 'Db.php'; $fnc = new Fnc(); $db = new Db(); // Verificamos que se trate de una peticion ajax if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $destino = '../img_curso/'; // Carpeta donde se guardara // Obtenemos el id del curso $id_curso = $fnc->secure_sql($_POST['id_curso']); // Comprobamos si existe el directorio para subir las imagenes if (!is_dir($destino)) { mkdir($destino, 0777); } // Separamos el tipo de la imagen $sep = explode('image/', $_FILES['file']['type']); // Optenemos el tipo de imagen $type = $sep[1];
Script ejecutado por un cron job para la creacion del sitemap de Codeando.org Proyecto: Codeando.org Author: Paulo Andrade Email: paulo_866@hotmail.com Web: http://www.pauloandrade1.com ********************************************************************/ // Indicamos que no exista limite de tiempo de ejecucion en este script set_time_limit(0); // Incluimos librerias para conectarnos ala base de datos require_once 'config.php'; require_once 'include/Db.php'; require_once 'include/Fnc.php'; $db = new Db(); $fnc = new Fnc(); // Obtenemos el total de cursos $result = $db->mysqli_select("SELECT titulo,categoria,id_curso FROM cursos WHERE public='YES'"); $count = $result->num_rows; // Obtenemos el total de temas $result1 = $db->mysqli_select("SELECT id_tema,id_curso,titulo FROM temas WHERE visibility='YES'"); $count1 = $result1->num_rows; // Obtenemos la suma de cursos e items $total = $count + $count1; // Verificamos si existe la tabla si no la creamos $insert = $db->mysqli_action("CREATE TABLE IF NOT EXISTS `sitemap` (`id` int(10) NOT NULL AUTO_INCREMENT,`registro` int(10) NOT NULL,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0"); // Consultamos que exista un cambio en el total $result2 = $db->mysqli_select("SELECT registro FROM sitemap WHERE id='1'"); $count2 = $result2->num_rows; // Verificamos si ya existe if ($count2 == 0) {
public function display_footer() { if (empty($_GET['page'])) { $page = ''; } else { $page = addslashes($_GET['page']); } $db = new Db(); $fnc = new Fnc(); ?> </section> <?php if ($page != 'platform') { ?> <footer> <div id="footer_1"> <h3>Secciones:</h3> <ul> <li><a href="/">Inicio</a></li> <li><a href="/cursos/">Cursos</a></li> <li><a href="http://blog.codeando.org">Blog</a></li> <?php // Verificamos si esta activada la zona premium if ($this->_premium) { ?> <li><a href="/premium/">Contenido exclusivo</a></li> <?php } ?> <li><a href="/contacto/">Contactanos</a></li> </ul> <h3>Sitios de interes:</h3> <ul> <li><a href="http://programacionazteca.mx">Programación Azteca</a></li> <li><a href="http://youtube.com/channel/UCS5t7Ynr2sPoWgUfsYHrksA">Youtube</a></li> <li><a href="http://github.com/programacionazteca">Github</a></li> </ul> </div> <div id="footer_2"> <?php // Obtenemos los cursos disponibles en la plataforma $result = $db->mysqli_select("SELECT * FROM cursos WHERE public='YES' ORDER BY titulo"); $count = $result->num_rows; // Verificamos si hay cursos if ($count > 0) { ?> <h3>Cursos disponibles:</h3> <ul><?php while ($row = $result->fetch_assoc()) { // Obtenemos las variables a utilizar $id_curso = $row['id_curso']; $img = $row['img']; $titulo = $row['titulo']; // Creamos la url del curso $url_temp = strtolower($fnc->Url($titulo)); $url = "/curso/{$url_temp}/{$id_curso}/"; ?> <li><a href="<?php echo $url; ?> "><?php echo $titulo; ?> </a></li><?php } ?> </ul><?php } ?> </div> <div id="footer_3"> <a href="http://programacionazteca.mx" rel="nofollow"><img src="/img/logo_azteca.png"></a> <div id="footer_3_text"> <p>Un proyecto de<br> <a href="http://programacionazteca.mx" rel="nofollow">PROGRAMACION AZTECA</a></p> </div> </div> <div> <p> <?php echo $this->_site_name . ' ' . date('Y'); ?> </p> <p>Un proyecto de <a href="http://programacionazteca.mx" rel="nofollow">Programación Azteca</a></p> </div> <div id="img_count"></div> </footer> <div id="login_box"> <div id="login_close" title="Cerrar">X</div> <?php require_once 'include/html_login.php'; ?> </div> <div id="menu-contenido"> <ul> <li><a href="/">Inicio</a></li> <li><a href="/cursos/">Cursos</a></li> <li><a href="http://blog.codeando.org">Blog</a></li> <?php // Verificamos si esta activada la zona premium if ($this->_premium) { ?> <li><a href="/premium/">Contenido exclusivo</a></li> <?php } ?> <li><a href="/contacto/">Contactanos</a></li> <?php // Mostramos url al admin if ($_SESSION['logged_in']) { ?> <li><a href="/admin-co/">Admin</a></li> <?php } ?> <div class="center"> <li><a id="menu_cerrar">Cerrar</a></li> </div> </ul> </div> <?php } ?> <div class="error"></div> <div class="success"></div> <script type="text/javascript" src="/js/vendor/modernizr-2.6.2.min.js"></script> <script type="text/javascript" src="/js/vendor/prefixfree-1.0.7.min.js"></script> <!--[if lt IE 9]> <script type="text/javascript" src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <?php // Verificamos si estamos en producción if ($this->_scope == 'produccion') { ?> <script type="text/javascript" src="/js/min/fnc.js"></script> <script type="text/javascript" src="/js/vendor/facebook.js"></script> <script type="text/javascript" src="/js/min/files.js"></script> <script type="text/javascript" src="/js/min/files_dis.js"></script> <?php if ($page == 'platform') { ?> <script type="text/javascript" src="/js/min/main.js"></script><?php } else { ?> <script type="text/javascript" src="/js/min/inicio.js"></script><?php } if (!empty($this->_appId)) { ?> <?php } if (!empty($this->_analytics)) { // Si se ejecuta en local, se desactiva google analytics if ($_SERVER['SERVER_NAME'] != "127.0.0.1" || $_SERVER['SERVER_NAME'] != 'localhost' || $_SERVER['SERVER_NAME'] == 'codeando.dev') { ?> <script src="/js/min/analytics.js"></script><?php } } ?> <script src="/js/min/social.js"></script> <?php } else { ?> <script type="text/javascript" src="/js/fnc.js"></script> <script type="text/javascript" src="/js/vendor/facebook.js"></script> <script type="text/javascript" src="/js/files.js"></script> <script type="text/javascript" src="/js/files_dis.js"></script> <?php if ($page == 'platform') { ?> <script type="text/javascript" src="/js/main.js"></script><?php } else { ?> <script type="text/javascript" src="/js/inicio.js"></script><?php } ?> <script src="/js/social.js"></script> <?php } ?> <script> window.___gcfg = {lang: 'es'}; (function() { var js, s = document.getElementsByTagName("script")[0], add = function(url,id){ if(document.getElementById(id)){ return; } js = document.createElement("script"); js.async = true; js.src = url; s.parentNode.insertBefore(js, s); }; add("//apis.google.com/js/platform.js","perfil"); add("//apis.google.com/js/plusone.js","plus"); add("//platform.twitter.com/widgets.js","twitter-wjs"); })(); // Google analytics (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', '<?php echo $this->_analytics; ?> ', 'auto'); ga('send', 'pageview'); </script> </body> </html> <?php }
Archivo para mostrar los temas de cada curso Proyecto: Codeando.org Author: Paulo Andrade Email: source.compu@gmail.com Web: http://www.pauloandrade1.com ************************************************/ // Obtenemos las variables $id_tema = empty($_GET['id_tema']) ? '' : $_GET['id_tema']; // Seguridad if (empty($_SESSION['logged_in'])) { $_SESSION['logged_in'] = false; } // Declaramos los objetos $db = new Db(); $fnc = new Fnc(); $template = new Template(); $social = new Social(); // Obtenemos los detalles del tema $result = $db->mysqli_select("SELECT id_curso,titulo,autor,info,doc,video,github FROM temas WHERE id_tema='{$id_tema}'"); while ($row = $result->fetch_assoc()) { $titulo = $row['titulo']; $autor = $row['autor']; $id_curso = $row['id_curso']; $info = empty($row['info']) ? '' : $row['info']; $doc = empty($row['doc']) ? '' : $row['doc']; $video = empty($row['video']) ? '' : $row['video']; $github = empty($row['github']) ? '' : $row['github']; } $result->close(); // Obtenemos los detalles del autor
Author: Paulo Andrade Email: source.compug@mail.com Web: http://www.pauloandrade1.com ************************************************/ session_start(); set_time_limit(0); // Ajustamos la zona horaria date_default_timezone_set('America/Mexico_City'); // Añadimos el archivo de configuracion include $_SERVER['DOCUMENT_ROOT'] . '/config.php'; require_once 'Fnc.php'; require_once 'Db.php'; require_once 'Template.php'; require_once 'phpmailer/PHPMailerAutoload.php'; $db = new Db(); $fnc = new Fnc(); $template = new Template(); $mail = new PHPMailer(); $type = $fnc->secure_sql($_POST['form']); switch ($type) { case 'delete_tema': delete_tema($db, $fnc); break; case 'form_contacto': form_contacto($db, $fnc); break; case 'form_login': form_login($db, $fnc, $mail, $data_email); break; case 'form_recover': form_recover($db, $fnc, $mail, $data_email, $template);
<?php /************************************************ Creacion y edicion de un curso Proyecto: Codeando.org Author: Paulo Andrade Email: source.compu@gmail.com Web: http://www.pauloandrade1.com ************************************************/ // Iniciamos la base de datos $db = new Db(); $fnc = new Fnc(); if (empty($_GET['sub'])) { $sub = ''; } else { $sub = addslashes($_GET['sub']); } if (empty($_GET['id'])) { $id_curso = ''; } else { $id_curso = addslashes($_GET['id']); } $user = $_SESSION['id']; $nivel = $_SESSION['nivel']; // Si es un curso nuevo mostramos mensaje orientado a la creacion del curso if ($sub == 'new') { ?> <div class="alert"> <img src="/img/alert.png"> <h1>Bienvenido al asistente de creacion de cursos</h1>
<?php /************************************************ Archivo con contenido de la pagina de cursos Proyecto: Codeando.org Author: Paulo Andrade Email: source.compu@gmail.com Web: http://www.pauloandrade1.com ************************************************/ // Inicializamos los objetos $social = new Social(); $fnc = new Fnc(); $db = new Db(); $template = new Template(); // Seguridad if (empty($_SESSION['user_id'])) { $_SESSION['user_id'] = ''; } if (empty($_SESSION['id'])) { $_SESSION['id'] = ''; } if (empty($_SESSION['logged_in'])) { $_SESSION['logged_in'] = false; } $user = $_SESSION['id']; // Obtenemos los cursos disponibles en la plataforma $result = $db->mysqli_select("SELECT * FROM cursos WHERE public='YES' ORDER BY fecha DESC"); $count = $result->num_rows; ?> <div id="presentacion_cursos" class="center parallax">
} public function display() { self::display_head(); $this->display_nav(); $this->display_header(); $this->display_content(); ?> </div><?php self::display_footer(); } } // Creamos el objeto pagina $index = new PageB(); $db = new Db(); $fnc = new Fnc(); // Obtenemos id del tema $id_tema = empty($_GET['id_tema']) ? '' : $_GET['id_tema']; // Obtenemos informacion sobre el tema $result = $db->mysqli_select("SELECT titulo,doc FROM temas WHERE id_tema='{$id_tema}'"); while ($row = $result->fetch_assoc()) { $titulo = $row['titulo']; $doc = empty($row['doc']) ? '' : $row['doc']; } $result->close(); // Creamos una descripcion para el tema if (!empty($doc)) { // Damos formato al contenido $doc = $fnc->mostrar_html($doc); $doc = strip_tags($doc); // Retira las etiquetas php y html
/************************************************ Archivo en el que mostramos los detalles de un curso en concreto Proyecto: Codeando.org Author: Paulo Andrade Email: source.compu@gmail.com Web: http://www.pauloandrade1.com ************************************************/ // Seguridad if (empty($_SESSION['logged_fb'])) { $_SESSION['logged_fb'] = false; } // Inicializamos los objetos $social = new Social(); $fnc = new Fnc(); $db = new Db(); $template = new Template(); // Obtenemos parametros if (empty($_GET['id_curso'])) { $id_curso = ''; } else { $id_curso = addslashes($_GET['id_curso']); } // Obtenemos los detalles del curso a mostrar $result = $db->mysqli_select("SELECT categoria,autor,titulo,subtitulo,img,description,requeriment FROM cursos WHERE id_curso='{$id_curso}' LIMIT 1"); while ($row = $result->fetch_assoc()) { $autor = $row['autor']; $description = $row['description']; $img = $row['img']; $titulo = $row['titulo'];