Your IP : 216.73.216.236


Current Path : /home/kamilrogam/komp/2018/180513/KEEP_IT/TOOLS/ratujadmina/RatujAdmina_3/
Upload File :
Current File : /home/kamilrogam/komp/2018/180513/KEEP_IT/TOOLS/ratujadmina/RatujAdmina_3/RatujAdmina.php

<?php
/*
  versja RatujAdmina_3
*/
define( '_JEXEC', 1 );

define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$db = JFactory::getDBO();
$adres = end(explode("/", $_SERVER['SCRIPT_NAME'])); //nazwa pliku

if (substr(JVERSION, 0, 4) != '3.1.' && substr(JVERSION, 0, 4) != '3.0.') die('Skrypt RatujAdmina_3 działa na wersjach: 3.0.* i 3.1.*.<br /><span style="color:red">Nie używaj na Joomla 3.2.*!!!</span>');

echo 'Twoja wersja Joomla to: '.JVERSION;
function wyslij($url){
  if (headers_sent()) {
			echo "<script>document.location.href='$url';</script>\n";
		} else {
			header( 'HTTP/1.1 301 Moved Permanently' );
			header( 'Location: ' . $url );
		}
}

////wiadomość get
if(isset($_GET["msg"]) && $_GET["msg"] != '') echo "<span style='color:green;'>".$_GET["msg"]."</span><br /><br />";
else $_GET["msg"] = 0;

if(isset($_POST["password"]) && $_POST["konto"] == 1){//zapisanie hasła, konto jest

    if ($_POST["password"] == '' || $_POST["username"] == ''){
        if ($_POST["password"] == '') $msg = "Hasło nie może być puste";
        if ($_POST["username"] == '') $msg = "Login nie może być pusty";  
        wyslij($adres.'?msg='.$msg);
    }
    else{
      $salt = JUserHelper::genRandomPassword(32);
			$crypt = JUserHelper::getCryptedPassword($_POST["password"], $salt);
			$password_crypt = $crypt . ':' . $salt;
      
      $query = "UPDATE #__users SET password = '".$password_crypt."', username = '".$_POST["username"]."' WHERE username = '".$_POST['login']."'";
      $db->setQuery($query);

      if ( $db->query()){
          $msg = "Hasło Super Administratora zostało zmienione";
      }
      else {
        $msg = "Hasło Super Administratora NIE zostało zmienione";
      }
       wyslij($adres.'?msg='.$msg);
    }
} //koniec zapisanie hasła konto jest
else if(isset($_POST["password"]) && $_POST["konto"] == 0){//zapisanie hasła, konta nie ma
    if ($_POST["password"] == '' || $_POST["email"] == ''){ //niewypenione pola
      $msg = '';
        if ($_POST["password"] == '')  $msg .= " Hasło nie może być puste";
        if ($_POST["email"] == '')  $msg .= " Email nie może być pusty";
        
        wyslij($adres.'?msg='.$msg);
    }
    else{    
      $salt = JUserHelper::genRandomPassword(32);
			$crypt = JUserHelper::getCryptedPassword($_POST["password"], $salt);
			$password_crypt = $crypt . ':' . $salt;
      
      $query = "INSERT INTO #__users VALUES ( null, 'Super User', 'admin_new', '".$_POST["email"]."', '".$password_crypt."', 0, 1, now(), now(),0,'{\"admin_style\":\"\",\"admin_language\":\"\",\"language\":\"\",\"editor\":\"\",\"helpsite\":\"\",\"timezone\":\"\"}', default, default)";
      $db->setQuery($query);
      
      if ($db->query()){//dodanie do tabeli #__users
            $sql = "SELECT id FROM #__users where username = 'admin_new'";
            $db->setQuery($sql);
            $userid = $db->loadResult();
            
            $query2 = "INSERT INTO #__user_usergroup_map VALUES (".$userid.",8);";
            $db->setQuery($query2); 
            
                if ($db->query()){ //dane dodane poprawnie
                    $msg = "Konto Super Administratora zostało utworzone.<br />Zaloguj się do panelu adominstratora Joomla (login: admin_new) i zapisz ustawienia dla swojego konta. <br />Wskazane jest powtórne zapisanie nowego, odpowiednio skomplikowanego hasła ";
                }
                else {
                    $msg = "Konto Super Administratora NIE zostało zmienione"; 
                }
                wyslij($adres.'?msg='.$msg);
      }
      else{////nie dodanie do tabeli jos_users
          $msg = "Dane do bazy #__users NIE zostały dodane";
          wyslij($adres.'?msg='.$msg);
      
      }
    }
    
}
else if(isset($_POST["plugin_user"]) && $_POST["plugin_user"] == 1){//zapisanie hasła, konta nie ma

      $sql = "UPDATE #__extensions SET enabled=1, access=1 WHERE type='plugin' and element='joomla' and folder='user'"; 
      $db->setQuery($sql);

          if ($db->query()){ //dane dodane poprawnie
                   $msg = "Dodatek joomla z kategorii user został włączony";
          }
          else {
                    $msg = "Dodatek joomla z kategorii user NIE został włączony";
          }
          wyslij($adres.'?msg='.$msg);      
}
else if(isset($_POST["plugin_authentication"]) && $_POST["plugin_authentication"] == 1){//zapisanie hasła, konta nie ma

      $sql = "UPDATE #__extensions SET enabled=1, access=1 WHERE type='plugin' and element='joomla' and folder='authentication'"; 
      $db->setQuery($sql);

          if ($db->query()){ //dane dodane poprawnie
                   $msg = "Dodatek joomla z kategorii authentication został włączony";
          }
          else {
                    $msg = "Dodatek joomla z kategorii authentication NIE został włączony";
          }
          wyslij($adres.'?msg='.$msg);      
}

else{    //sprawdzenie dodatków i zmiana hasła
  echo '<hr>';
 $sql = "SELECT enabled, access, folder FROM #__extensions WHERE type='plugin' and element='joomla' and folder in('user','authentication')"; 
 $db->setQuery($sql);
 $wyniki = $db->loadObjectList();
 $ok = 0;
 foreach($wyniki as $wynik){
  if($wynik->folder == 'user'){
    if($wynik->enabled && $wynik->access == 1){
        echo "Plugin joomla z kategorii user jest włączony i udostępniony<br />";
        $ok++;
    }
    else{
       echo "<span style='color:red;'>Plugin joomla z kategorii user jest WYŁĄCZONY lub NIEDOSTĘPNY</span><br>";
       ?>
          <form method="post">
          <input type="hidden" name="plugin_user" value="1">
          <table><tr><td align="right"><input type="submit" value="Napraw dodatek"></td></tr></table>
          </form>    
    <?php 
    }
  }
  else if($wynik->folder == 'authentication'){
    if($wynik->enabled && $wynik->access == 1){
        echo "Plugin joomla z kategorii authentication jest włączony i udostępniony<br />";
        $ok++;
    }
    else{
    echo "<span style='color:red;'>Plugin joomla z kategorii authentication jest WYŁĄCZONY lub NIEDOSTĘPNY</span><br>";
       ?>
          <form method="post">
          <input type="hidden" name="plugin_authentication" value="1">
          <table><tr><td align="right"><input type="submit" value="Włącz dodatek"></td></tr></table>
          </form>    
    <?php 
    }
  }
 }
echo '<hr>';
if($ok == 2){  //pluginy włączone
 $sql = "SELECT u.username FROM #__users AS u  JOIN #__user_usergroup_map AS m ON u.id = m.user_id WHERE m.group_id = 8 limit 1";
 $db->setQuery($sql);
 $login = $db->loadResult();

      if ($login) { //zmiana hasła bo konto istnieje

          echo "<br />Konto Super Administratora istnieje, login to: <strong>".$login."</strong>. Zmień hasło<br /><br />";
     ?>
   
         <form method="post">
          <input type="hidden" name="konto" value="1">
          <input type="hidden" name="login" value="<?php echo $login;?>">
          <table><tr>
          <td>Login: </td><td><input type="text" name="username" size="40" value="<?php echo $login;?>"></td></tr>
          <tr><td>Podaj nowe hasło: </td><td><input type="text" name="password" size="40"></td></tr>
          <tr><td></td><td align="right"><input type="submit" value="Zmień"></td></tr></table></form> 
     <?php
      }      
      else { //założenie konta
          if (!$_GET["msg"])  echo "Nie ma konta Super Administratora<br />Wypełnij poniższe pola i utwórz nowe konto.";
     ?>          
          <form method="post"><input type="hidden" name="konto" value="0"><br />
          <table><tr><td colspan="2" style="color:red">Uwaga!!! Nowo utworzone konto będzie miało login: admin_new </td></tr>
          <tr><td>Podaj email: </td><td><input type="text" name="email" size="40"></td></tr>
          <tr><td>Podaj nowe hasło: </td><td><input type="text" name="password" size="40"></td></tr>
          <tr><td></td><td align="right"><input type="submit" value="Dodaj"></td></tr></table></form>
   <?php
      }
  }//koniec pluginy włączone
}

?>
<input type="button" value="Sprawdź jeszcze raz" onclick="document.location.href='<?php echo $adres;?>'">