Webmaster общности: Predpriemach.com | SearchEngines.bg

    Потребителите стартират с подпис по ваш избор

    Автор: ProGame

    С този урок потребителите стартират с подпис по ваш избор

    Създаите един фаил db_update.php

    <?php
    /***************************************************************************
    * score_install.php
    * -------------------
    * begin : Dec 19 2006
    * copyright : ProGame
    * forum : help.headoff.com
    *
    *
    ****************************************************************************/
    
    /***************************************************************************
    *
    * This program is free software; you can redistribute it and/or modify
    * it under the terms of the GNU General Public License as published by
    * the Free Software Foundation; either version 2 of the License, or
    * (at your option) any later version.
    *
    ***************************************************************************/
    define('IN_PHPBB', true);
    $phpbb_root_path = './';
    
    $i = 0;
    while ( !file_exists($phpbb_root_path . 'extension.inc') && ($i++ < 4) )
    {
    $phpbb_root_path .= '../';
    }
    if ( $i > 4 )
    {
    message_die(GENERAL_MESSAGE, 'Unable to find extension.inc, terminating. Please move this file into your main/"root" phpbb directory and try again.');
    }
    
    include($phpbb_root_path . 'extension.inc');
    include($phpbb_root_path . 'common.'.$phpEx);
    
    //
    // Start session management
    //
    $userdata = session_pagestart($user_ip, PAGE_INDEX);
    init_userprefs($userdata);
    //
    // End session management
    //
    
    if( !$userdata['session_logged_in'] )
    {
    redirect(append_sid("login.$phpEx?redirect=ds_install.$phpEx", true));
    }
    
    if( $userdata['user_level'] != ADMIN )
    {
    message_die(GENERAL_MESSAGE, 'You are not authorised to access this page');
    }
    
    $page_title = 'Installing Default Signature MOD - Tables';
    include($phpbb_root_path . 'includes/page_header.'.$phpEx);
    
    $insert = "insert into {$table_prefix}config values('allow_default','1');";
    $create = "create table {$table_prefix}default (sig_name varchar(255),sig_value text);";
    $insert2 = "insert into {$table_prefix}default values('default_sig','Default Signature Installed');";
    $execut = @mysql_query($insert);
    $execut2 = @mysql_query($insert2);
    $execut3 = @mysql_query($create);
    $qtderro = 0;
    if (!$execut || !$execut3)
    {
    $qtderro++;
    $coderro=mysql_errno();
    $erro = mysql_error();
    message_die(GENERAL_MESSAGE, " <font color=red>Colunm default_signature and/or allow default already exist.</font> ");
    }
    if (!$execut3)
    {
    $qtderro++;
    $coderro=mysql_errno();
    $erro = mysql_error();
    message_die(GENERAL_MESSAGE, " <font color=red>Table {$table_prefix}default already exists.</font> ");
    }
    $forum_url = append_sid($phpbb_root_path . "index.$phpEx");
    
    print<<<DELIM
    <table width="100%" cellspacing="1" cellpadding="2" border="0" class="forumline">
    <th class="thHead"><font color="green"><strong>SQL Installation complete</strong></font></th>
    </tr>
    <tr>
    <td align="center">
    <span class="genmed">Please delete this file default_sig_install.php.<br />
    If you have any problems, please visit <a href="http://www.rpgwitchschools.net/phpBB2" target="_new">Oficial Support to Default Signature MOD v 0.0.1</a> and ask for help.</span>
    </td>
    </tr>
    <tr>
    <td class="catBottom" height="28" align="center">
    <span class="genmed"><a href="{$forum_url}">Click Here to return to your forum.</a>
    </span>
    </td>
    </tr>
    </table>
    DELIM;
    
    include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
    
    ?>

    Пуснете фаила и го изтриите след това!

    #
    #------[ Отворете ]--------------------------------------------------
    #
    admin_board.php
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql);
    }
    }
    }
    
    #
    #------[ След него добавете ]----------------------------------------------
    #
    $sql = "SELECT *
    FROM " . DEFAULT_TABLE;
    if(!$result = $db->sql_query($sql))
    {
    message_die(CRITICAL_ERROR, "Could not query config information in admin_board", "", __LINE__, __FILE__, $sql);
    }
    else
    {
    while( $row = $db->sql_fetchrow($result) )
    {
    $sig_name = $row['sig_name'];
    $sig_value = $row['sig_value'];
    $sig_default[$sig_name] = isset($HTTP_POST_VARS['submit']) ? str_replace("'", "\'", $sig_value) : $sig_value;
    
    $new2[$sig_name] = ( isset($HTTP_POST_VARS[$sig_name]) ) ? $HTTP_POST_VARS[$sig_name] : $sig_default[$sig_name];
    
    if( isset($HTTP_POST_VARS['submit']) )
    {
    $sql = "UPDATE " . DEFAULT_TABLE . " SET
    sig_value = '" . str_replace("\'", "''", $new2[$sig_name]) . "'
    WHERE sig_name = '$sig_name'";
    if( !$db->sql_query($sql) )
    {
    message_die(GENERAL_ERROR, "Failed to update general configuration for $sig_name", "", __LINE__, __FILE__, $sql);
    }
    }
    }
    }
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    $sig_no = ( !$new['allow_sig'] ) ? "checked=\"checked\"" : "";
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    $default_sig_yes = ( $new['allow_default'] ) ? "checked=\"checked\"" : "";
    $default_sig_no = ( !$new['allow_default'] ) ? "checked=\"checked\"" : "";
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    "L_ALLOW_SIG" => $lang['Allow_sig'],
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    "L_ALLOW_SIG_DEFAULT" => $lang['Allow_default_sig'],
    "L_DEFAULT_SIG" => $lang['Default_sig'],
    "L_DEFAULT_SIG_EXPLAIN" => $lang['Default_sig_explain'],
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    "SIG_NO" => $sig_no,
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    "DEFAULT_SIG_YES" => $default_sig_yes,
    "DEFAULT_SIG_NO" => $default_sig_no,
    "DEFAULT_SIG" => $new2['default_sig'],
    
    #
    #-----[ Отворете ]---------------------------------------------------
    #
    includes/constants.php
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    define('CONFIG_TABLE', $table_prefix.'config');
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    define('DEFAULT_TABLE', $table_prefix.'default');
    
    #
    #-----[ Отворете ]---------------------------------------------------
    #
    includes/usercp_register.php
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    if ( $signature != '' )
    {
    if ( strlen($signature) > $board_config['max_sig_chars'] )
    {
    $error = TRUE;
    $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_long'];
    }
    
    if ( !isset($signature_bbcode_uid) || $signature_bbcode_uid == '' )
    {
    $signature_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : '';
    }
    $signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid);
    }
    
    #
    #-----[ Заместете го с това ]-------------------------------------------
    #
    if ( $signature != '' )
    {
    $allow_default_signature = 0;
    if ( strlen($signature) > $board_config['max_sig_chars'] )
    {
    $error = TRUE;
    $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_long'];
    }
    
    if ( !isset($signature_bbcode_uid) || $signature_bbcode_uid == '' )
    {
    $signature_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : '';
    }
    $signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid);
    } else
    {
    $signature = $default_sig['default_sig'];
    $allow_default_signature = 1;
    if ( !isset($signature_bbcode_uid) || $signature_bbcode_uid == '' )
    {
    $signature_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : '';
    }
    $signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid);
    }
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    user_viewemail = $viewemail,
    
    #
    #-----[ На линията след него добавете ]--------------------------------------
    #
    allow_default = $allow_default_signature,
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    user_viewemail,
    
    #
    #-----[ На линията след него добавете ]--------------------------------------
    #
    allow_default,
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    $viewemail,
    
    #
    #-----[ На линията след него добавете ]--------------------------------------
    #
    $allow_default_signature,
    
    #
    #-----[ Отворете ]---------------------------------------------------
    #
    language/lang_*/lang_admin.php
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    $lang['Allow_sig'] = 'Allow Signatures';
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    $lang['Allow_default_sig'] = 'Allow Default Signature';
    $lang['Default_sig'] = 'Default Signature';
    $lang['Default_sig_explain'] = 'Default signature to users who don\'t have signature. bbCode Allowed.
    
    #
    #-----[ Отворете ]---------------------------------------------------
    #
    templates/*/admin/board_config_body.tpl
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    <tr>
    <td class="row1">{L_ALLOW_SIG}</td>
    <td class="row2"><input type="radio" name="allow_sig" value="1" {SIG_YES} /> {L_YES} <input type="radio" name="allow_sig" value="0" {SIG_NO} /> {L_NO}</td>
    </tr>
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    <tr>
    <td class="row1">{L_ALLOW_SIG_DEFAULT}</td>
    <td class="row2"><input type="radio" name="allow_default" value="1" {DEFAULT_SIG_YES} /> {L_YES} <input type="radio" name="allow_default" value="0" {DEFAULT_SIG_NO} /> {L_NO}</td>
    </tr>
    <tr>
    <td class="row1">{L_DEFAULT_SIG}<br /><span class="gensmall">{L_DEFAULT_SIG_EXPLAIN}</span></td>
    <td class="row2"><textarea name="default_sig" rows="5" cols="30" wrap="yes">{DEFAULT_SIG}</textarea></td>
    </tr>
    
    #
    #-----[ Отворете ]---------------------------------------------------
    #
    commom.php
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    $board_config = array();
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    $default_sig = array();
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    while ( $row = $db->sql_fetchrow($result) )
    {
    $board_config[$row['config_name'> = $row['config_value'];
    }
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    $sql = "SELECT *
    FROM " . DEFAULT_TABLE;
    if( !($result = $db->sql_query($sql)) )
    {
    message_die(CRITICAL_ERROR, "Could not query default signature information", "", __LINE__, __FILE__, $sql);
    }
    
    while ( $row = $db->sql_fetchrow($result) )
    {
    $default_sig[$row['sig_name'] ] = $row['sig_value'];
    }
    
    #
    #-----[ Отворете ]---------------------------------------------------
    #
    index.php
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    else
    {
    $l_total_user_s = $lang['Registered_users_total'];
    }
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    $sql = "SELECT * FROM " . USERS_TABLE . " WHERE allow_default = 1";
    $result = $db->sql_query($sql);
    $numrows = $db->sql_fetchrowset($result);
    $rows = $db->sql_numrows($result);
    for ($i=-1;$i < $rows; $i++)
    {
    $id = $numrows[$i]['user_id'];
    $uid = $numrows[$i]['user_sig_bbcode_uid'];
    
    if ($uid == '' )
    {
    $signature_bbcode_uid = make_bbcode_uid();
    $sql = "UPDATE " . USERS_TABLE . " SET user_sig_bbcode_uid = '" . $signature_bbcode_uid . "' WHERE user_id = " .$id;
    $result = $db->sql_query($sql);
    }
    $signature = $default_sig['default_sig'];
    $signature_bbcode_uid = $uid;
    $signature = htmlspecialchars(stripslashes($signature));
    $signature = bbencode_first_pass($signature, $signature_bbcode_uid);
    $signature = str_replace("<a href=\"", "[url=", $signature);
    $signature = str_replace("\" target=\"_blank\" class=\"postlink\">", "]", $signature);
    $signature = str_replace("</a>", "[/url]", $signature);
    $sql = "UPDATE " . USERS_TABLE . " SET user_sig = '" . $signature . "' WHERE user_id = " .$id;
    $result = $db->sql_query($sql);
    }
    
    #
    #-----[ Отворете ]---------------------------------------------------
    #
    login.php
    
    #
    #-----[ Намерете ]---------------------------------------------------
    #
    else
    {
    $sid = '';
    }
    
    #
    #-----[ След него добавете ]----------------------------------------------
    #
    if ($userdata['allow_default'] == 1 && $board_config['allow_default'] == 1)
    {
    $signature = $default_sig['default_sig'];
    $signature_bbcode_uid = $userdata['user_sig_bbcode_uid'];
    $signature = htmlspecialchars(stripslashes($signature));
    $signature = bbencode_first_pass($signature, $signature_bbcode_uid);
    $signature = str_replace("<a href=\"", "[url=", $signature);
    $signature = str_replace("\" target=\"_blank\" class=\"postlink\">", "]", $signature);
    $signature = str_replace("</a>", "[/url]", $signature);
    $sql = "UPDATE " . USERS_TABLE . " SET user_sig = '" . $signature . "' WHERE user_id = " .$userdata['user_id'];
    $result = $db->sql_query($sql);
    }
    
    #
    #------[ Готови сте ;) ]-------------------------------
    #
    

    Нагласяте с какъв подпис да стартират потребителите от:
    Админ панела > Обща конфигурация