| Current Path : /home/kamilrogam/komp/2018/180513/KEEP_IT/TOOLS/ratujadmina/RatujAdmina_3/ |
| 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;?>'">