Hoiatuse eemaldamine

Tee uus fail remove_warnings.php sisuga:
Code: Vali kõik
        <?php

        // @copyright (c) 2005 KTUK Group
        // @license http://opensource.org/licenses/gpl-license.php GNU Public License

        define('IN_PHPBB', true);
        $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
        $phpEx = substr(strrchr(__FILE__, '.'), 1);
        include($phpbb_root_path . 'common.' . $phpEx);
        include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

        // Start session management
        $user->session_begin();
        $auth->acl($user->data);
        $user->setup('');

        //some essentail variables being set
        $username = request_var('Kasutajanimi', '');
        $count = request_var('Arv', 0);
        $submit = request_var('Sisesta', '');
        $done = false;
        //define some variables
        $row_user = '';
        $warning = '';
        $warning_new = '';

        //are you an Admin, if not throw an error ;)
        if(!$auth->acl_get('a_'))
        {
            trigger_error('Ainult administraatorid saavad hoiatust eemaldada.');
        }

        //Has the form been submitted? If not display form.
        if(!$submit)
        {
            print "<form action=\"".$_SERVER['SCRIPT_NAME']."\" method=\"post\" />
            Kasutajanimi: <input type=\"text\" name=\"Kasutajanimi\" />
            Arv: <input type=\"text\" name=\"Arv\" maxlength=\"2\" size=\"2\" />
            <input type=\"submit\" value=\"Sisesta\" name=\"Sisesta\" />
            </form>";
        }

        //fetch user info
        $sql = "SELECT * FROM " . USERS_TABLE . "
        WHERE username = '$username'";
        $result = $db->sql_query($sql);
        $row_user = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);

        //assign warning count so we can change it in the loop
        $warning_count = $row_user['user_warnings'];

        for($i=1;$i<=$count;$i++)
        {   
            //does the user exist?
            if (isset($row_user['user_id']))
            {
                //fetch warning info
                $sql = "SELECT * FROM " . WARNINGS_TABLE . "
                WHERE user_id = ".$row_user['user_id']."
                ORDER BY warning_time DESC LIMIT 1";
                $result = $db->sql_query($sql);
                $warning = $db->sql_fetchrow($result);
                $db->sql_freeresult($result);
            }
           
            //is there a warning to remove?
            if (isset($warning['warning_id']))
            {
                //result printing
                $result = '';
               
                //remove warning log
                $sql = "DELETE FROM " . LOG_TABLE . "
                WHERE log_id = ".$warning['log_id'];
                $db->sql_query($sql);
               
                print $result = ($db->sql_query($sql)) ? "Hoiatuse logi eemaldatud.<br />" : '';
               
                //remove last warning
                $sql = "DELETE FROM " . WARNINGS_TABLE . "
                WHERE warning_id = ".$warning['warning_id'];
                $db->sql_query($sql);
               
                //success
                print $result = ($db->sql_query($sql)) ? "Viimane hoiatus eemaldati.<br />" : '';
               
                //lets reduce the warning count for the user
                $warning_count = ($warning_count - 1);
               
                $sql = "UPDATE " . USERS_TABLE ."
                SET user_warnings = ".$warning_count."
                WHERE user_id = ".$row_user['user_id'];
                $db->sql_query($sql);
               
                //success
                print $result = ($db->sql_query($sql)) ? "Kasutaja hoiatuste arv vähendatud.<br />" : '';
               
                //Now we need the new last warning time to be able to update the user table last warning time
                $sql = "SELECT warning_time FROM " . WARNINGS_TABLE . "
                WHERE user_id = ".$row_user['user_id']."
                ORDER BY warning_time DESC LIMIT 1";
                $result = $db->sql_query($sql);
                $warning_new = $db->sql_fetchrow($result);
                $db->sql_freeresult($result);
               
                $warning_new['warning_time'] = ($warning_new['warning_time']) ? $warning_new['warning_time'] : 0;
               
                //lets update that last warning time
                $sql = "UPDATE " . USERS_TABLE . "
                SET user_last_warning = ".$warning_new['warning_time']."
                WHERE user_id = ".$row_user['user_id'];
                $db->sql_query($sql);
               
                //success
                print $result = ($db->sql_query($sql)) ? "Kasutaja viimase hoiatuse aeg uuendatud.<br /><br />" : '';
               
                //add admin log about removal
                add_log('admin', 'Eemaldatud kasutajalt hoiatus', $user_row['username']);
               
                //yay complete success
                $done = true;
            }
        }

        if($submit)
        {
            //suppose we better let them know the warning has been removed
            mail($row_user['user_email'], 'Hoiatuse eemaldamine', 'Sinu foorumi administraator või moderaator on kustutanud sinult hoiatuse.');
            //did it work?
            print $done = ($done) ? "Lõpetatud, hoiatus(ed) eemaldatud." : "Lõpetatud, kuid midagi ei sooritatud.";
            //get form ready for another submit
            unset($submit);
            print "<br /><a href=\"./remove_warning.php\">TAGASI</a>";
        }

        ?>


Ja nüüd lae see fail läbi FTP ülesse ning seejärel käivita see fail aadressilt www.example.com/remove_warnings.php

NB! Lahtrisse "Arv", kirjuta, mitu hoiatust tahad eemaldada.

Kui sa saad järgneva teate, siis logi ennast sisse administraatoriga, ning proovi uuesti.
Ainult administraatorid saavad hoiatusi eemaldada


Kui on probleeme, siis saatke mulle PS.
Õpetus ei ole minu tehtud.
Lisatud: 03 Sept 2009, 18:25
Lisas: Ragnis
Vaadatud: 1329