Advertisement
Guest User

Untitled

a guest
Jul 25th, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.18 KB | None | 0 0
  1. <?php
  2. /*
  3. *
  4. * @ This file is created by http://DeZender.Net
  5. * @ deZender (PHP5 Decoder for ionCube Encoder)
  6. *
  7. * @ Version : 3.5.0.0
  8. * @ Author : DeZender
  9. * @ Release on : 22.06.2018
  10. * @ Official site : http://DeZender.Net
  11. *
  12. */
  13.  
  14. $limit = '';
  15.  
  16. if (isset($_REQUEST['start']) && $_REQUEST['length'] != -1) {
  17. $limit = ' LIMIT ' . intval($_REQUEST['start']) . ', ' . intval($_REQUEST['length']);
  18. }
  19.  
  20. if (!empty($_SESSION['idusername'])) {
  21. $dblogin = Database::getInstance();
  22. $connlogin = $dblogin->dameQuery("SELECT acceso FROM login where id='" . $dblogin->sanitize($_SESSION['idusername']) . "' limit 1");
  23. $rowlogin = mysqli_fetch_assoc($connlogin);
  24. $_SESSION['Logpermisos'] = explode(',', $rowlogin['acceso']);
  25. }
  26.  
  27. date_default_timezone_set(_obfuscated_0D0C3F0F5B0B2C0B1B2913240D265B1C1E031D19383101_('zona_horaria'));
  28.  
  29. class Database
  30. {
  31. private $_connection = null;
  32. private static $_instance = null;
  33.  
  34. public static function getInstance()
  35. {
  36. if (self::$_instance == null) {
  37. self::$_instance = new Database();
  38. }
  39.  
  40. return self::$_instance;
  41. }
  42.  
  43. private function __construct()
  44. {
  45. require __DIR__ . '/ini_bd.php';
  46. $this->_connection = new mysqli('localhost', $mwuser, $mwcontrasena, $mwbd);
  47. $this->_connection->set_charset('utf8');
  48.  
  49. if (mysqli_connect_error()) {
  50. if (!file_exists('/var/www/admin/repararmysql.sh')) {
  51. $comando = "#!/bin/sh\n\necho \"1.- Configurando Mysql a Prueba de fallo\"\n/etc/init.d/mysql stop\nmv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak\ncp /var/www/admin/my.cnf /etc/mysql/my.cnf\nsleep 1\necho \"2.- Iniciando Mysql a Prueba de falla\"\n/etc/init.d/mysql restart\nsleep 1\nrm /var/lib/mysql/" . $mwbd . "/tmp.frm\nrm /var/lib/mysql/" . $mwbd . "/trafico_tmp.frm\necho \"3.- Generando Backup de datos\"\n\nif mysqldump --user=" . $mwuser . ' --password=' . $mwcontrasena . ' --host=localhost --single-transaction --opt --skip-quick --max_allowed_packet=128M ' . $mwbd . " > mysqlrestore.sql\nthen\n\necho \"4.- Eliminando Base de datos corrupto.\"\nsleep 1\n/etc/init.d/mysql stop\nmv /var/lib/mysql/mysql /root/mysql\nmv /var/lib/mysql/performance_schema /root/performance_schema\nrm -r /var/lib/mysql/*\nmv /root/mysql /var/lib/mysql/mysql\nmv /root/performance_schema /var/lib/mysql/performance_schema\necho \"5.- Iniciando Mysql...\"\nrm /etc/mysql/my.cnf\nmv /etc/mysql/my.cnf.bak /etc/mysql/my.cnf\n/etc/init.d/mysql start\nsleep 2\n/etc/init.d/mysql restart\nsleep 1\necho \"6.- Creando Base de datos y restaurando Backup\"\nmysql --user=" . $mwuser . ' --password=' . $mwcontrasena . ' -e "CREATE DATABASE ' . $mwbd . " /*\\!40100 DEFAULT CHARACTER SET utf8 */;\"\nmysql --user=" . $mwuser . ' --password=' . $mwcontrasena . ' --host=localhost ' . $mwbd . " < mysqlrestore.sql\nmysql --user=" . $mwuser . ' --password=' . $mwcontrasena . ' --host=localhost ' . $mwbd . " < /var/www/admin/reparar.sql\nsleep 1\necho \"MYSQL REPARADO, Intente abrir nuevamente mikrowisp.\"\n\nelse\nrm /etc/mysql/my.cnf\nmv /etc/mysql/my.cnf.bak /etc/mysql/my.cnf\necho \"ERROR: No se puede obtener un backup porque los datos estan dañados o Mysql no ha iniciado a prueba de fallos\";\nexit\nfi";
  52. $fp = fopen('/var/www/admin/repararmysql.sh', 'a');
  53. fwrite($fp, $comando);
  54. fclose($fp);
  55. }
  56.  
  57. echo "<!doctype html>\n<html>\n<head>\n <meta charset=\"utf-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n <title>ERROR MYSQL</title>\n <!-- Tell the browser to be responsive to screen width -->\n <meta content=\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\" name=\"viewport\">\n <link rel=\"stylesheet\" href=\"bootstrap/css/bootstrap.min.css\" media=\"all\">\n <link rel=\"stylesheet\" href=\"css/font-awesome.min.css\">\n <link rel=\"stylesheet\" href=\"css/AdminLTE.min.css\">\n <link rel=\"stylesheet\" href=\"css/skins/skin-blue.min.css\">\n <link rel=\"stylesheet\" href=\"css/animate.css\">\n <link rel=\"stylesheet\" href=\"css/mikrowisp.css\" media=\"all\">\n\n \n </head>\n\n<body>\n\n<div class=\"container\">\n\t<div class=\"row\">\n\t\n <div class=\"row\">\n <div class=\"col-sm-7 col-center\">\n <div class=\"box box-sucess\">\n <div class=\"box-content\">\n <h1 class=\"tag-title text-center\" style=\"color:#E52528\"><i class=\"fa fa-exclamation-triangle\" aria-hidden=\"true\"></i> ERROR MYSQL</h1>\n <hr />\n <p>No se puede conectar a Mysql porque existe un eror en la base de datos, para solucionar y confirmar el problema ejecute los siguientes comandos vía consola de su servidor Linux.(vía putty):</p>\n \n <code><b>/etc/init.d/mysql restart</b></code>\n<p>Si dicho comando arroja un error es porque mysql tiene tablas o base de datos dañados, para intentar recuperar nuestros datos y reparar mysql ejecute el siguiente script en consola:</p>\n\n <code><b>apt-get -y install dos2unix && dos2unix /var/www/admin/repararmysql.sh && sh /var/www/admin/repararmysql.sh</b></code>\n <br><br>\n \n Si el problema persiste es posible que necesite reinstalar todo el sistema operativo + Mikrowisp, puede descargar el ultimo backup generado correctamente desde la ruta <b style=\"font-size:15px; color:#E60D11\">\"/var/www/admin/backup/\"</b>.\n <br><br>\n <h4><b>Recomendaciones:</b></h4>\n <ul>\n <li>Si trabaja con equipos Raspberry PI debe utilizar memorias SD clase de 10 y nuevas, tambien puede utilizar una memoria USB para instalar mikrowisp.</li>\n \n <li>Si el error sucede muy seguido es porque el Disco (SD,USB,DISCO RIGIDO,ETC) presenta problemas fisico y debe ser reemplazado.</li>\n\t\n </ul>\n \n \n </div>\n </div>\n </div>\n\n\n </div> \n </div>\n\t</div>\n</div>\n\n<style type=\"text/css\">\n.col-center{\n float: none;\n margin: 0 auto;\n}\n\n.box {\n background:#fff;\n transition:all 0.2s ease;\n border:2px dashed #dadada;\n margin-top: 10px;\n box-sizing: border-box;\n border-radius: 5px;\n background-clip: padding-box;\n padding:0 20px 20px 20px;\n min-height:340px;\n}\n\n.box:hover {\n border:2px solid #525C7A;\n}\n\n.box span.box-title {\n color: #fff;\n font-size: 24px;\n font-weight: 300;\n text-transform: uppercase;\n}\n\n.box .box-content {\n padding: 16px;\n border-radius: 0 0 2px 2px;\n background-clip: padding-box;\n box-sizing: border-box;\n}\n.box .box-content p {\n color:#515c66;\n text-transform:none;\n}\n\n</style>\n</body>\n</html>";
  58.  
  59. exit();
  60. }
  61. }
  62.  
  63. public function dameQuery($query, $insert = '')
  64. {
  65. if (empty($insert)) {
  66. $rs = $this->_connection->query($query) or exit('ERROR MYSQL: <br>' . $this->_connection->error);
  67. } else {
  68. $this->_connection->query($query) or exit('ERROR MYSQL: <br>' . $this->_connection->error);
  69. $rs = $this->_connection->insert_id;
  70. }
  71.  
  72. return $rs;
  73. }
  74.  
  75. public function dameQuerySinCerrar($query, $insert = '')
  76. {
  77. if (empty($insert)) {
  78. ..................................................................................................................................................................................
  79. ...........................
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement