Autor Tópico: Thank-O-Matic Manual 2.0RC5  (Lida 2028 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline candidosa2

  • Suporte Tecnico
  • Fundador
  • *
  • Mensagens: 5035
  • Rank: 1658
  • Sexo: Masculino
  • Suporte
    • Hosting Moçambique
Thank-O-Matic Manual 2.0RC5
« em: 20 de Abril de 2011, 08:47 »
  • Publicar
  • ./index.php

    Pesquisar

    Código: [Seleccione]
    'theme' => array('Themes.php', 'ThemesMain'),
    Adicionar depois

    Código: [Seleccione]
    'thankyou' => array('ThankYouPost.php', 'ThankYou'),
    'thankyouajax' => array('ThankYouPost.php', 'ThankYouPostAJAX'),
    'thankyoupostlock' => array('ThankYouPost.php', 'ThankYouPostLock'),
    'thankyoupostlist' => array('ThankYouPost.php', 'ThankYouPostListShow'),
    'thankyoupostdelete' => array('ThankYouPost.php', 'ThankYouPostDelete'),
    'thankyoupostdm' => array('ThankYouPost.php', 'ThankYouPostDeletePost'),
    'thankyoupostcloseall' => array('ThankYouPost.php', 'ThankYouPostCloseAll'),
    'thankyoupostunlockall' => array('ThankYouPost.php', 'ThankYouPostUnlockAllPosts'),


    ./SSI.php

    Pesquisar
    Código: [Seleccione]
    // Check the passed id_member/password.  If $is_username is true, treats $id as a username.
    Trocar por este

    Código: [Seleccione]
    // Shows the top Thank You Resive.
    function ssi_thankYouPostTopResived($topMembers = 5, $output_method = 'echo')
    {
    global $txt, $scripturl, $modSettings, $smcFunc;

    // Fix mistakes ;P
    $topMembers = (int) $topMembers;
    $topMembers = empty($topMembers) ? 5 : $topMembers;

    // Find the latest poster.
    $request = $smcFunc['db_query']('', '
    SELECT id_member, real_name, thank_you_post_became, thank_you_post_made
    FROM {db_prefix}members
    ORDER BY thank_you_post_became DESC
    LIMIT {int:limit}',
    array(
    'limit' => $topMembers
    )
    );
    $return = array();
    while ($row = $smcFunc['db_fetch_assoc']($request))
    {
    $return[] = array(
    'id' => $row['id_member'],
    'name' => $row['real_name'],
    'href' => $scripturl . '?action=profile;u=' . $row['id_member'],
    'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>',
    'thank_you_post_became' => $row['thank_you_post_became'],
    'thank_you_post_made' => $row['thank_you_post_made']
    );
    $colorids[$row['id_member']] = $row['id_member'];
    }
    $smcFunc['db_free_result']($request);

    // Add colors only on installed SSI Member Color Link
    if (function_exists('ssi_loadColors') && !empty($colorids))
    {
    global $color_profile;
    ssi_loadColors($colorids);
    foreach ($return as $k => $p)
    {
    $profile = $color_profile[$p['id']];
    if (!empty($profile))
    $return[$k]['link'] = $profile['link'];
    }
    }
    if ($output_method != 'echo')
    return $return;

    if (empty($return))
    return;

    echo '
    <table class="ssi_table">
    <tr>
    <th align="left"></th>
    <th align="left">', $txt['thank_you_post_became_display'], '</th>
    <th align="left">', $txt['thank_you_post_made_display'], '</th>
    </tr>';
    foreach ($return as $temp)
    echo '
    <tr>
    <td align="left">
    ', $temp['link'], '
    </td>
    <td align="right">', $temp['thank_you_post_became'], '</td>
    <td align="right">', $temp['thank_you_post_made'], '</td>
    </tr>';
    echo '
    </table>';
    }

    // Shows the top Thank You Given.
    function ssi_thankYouPostTopGiven($topMembers = 5, $output_method = 'echo')
    {
    global $txt, $scripturl, $modSettings, $smcFunc;

    // Fix mistakes ;P
    $topMembers = (int) $topMembers;
    $topMembers = empty($topMembers) ? 5 : $topMembers;

    // Find the latest poster.
    $request = $smcFunc['db_query']('', '
    SELECT id_member, real_name, thank_you_post_became, thank_you_post_made
    FROM {db_prefix}members
    ORDER BY thank_you_post_made DESC
    LIMIT {int:limit}',
    array(
    'limit' => $topMembers
    )
    );
    $return = array();
    while ($row = $smcFunc['db_fetch_assoc']($request))
    {
    $return[] = array(
    'id' => $row['id_member'],
    'name' => $row['real_name'],
    'href' => $scripturl . '?action=profile;u=' . $row['id_member'],
    'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>',
    'thank_you_post_became' => $row['thank_you_post_became'],
    'thank_you_post_made' => $row['thank_you_post_made']
    );
    $colorids[$row['id_member']] = $row['id_member'];
    }
    $smcFunc['db_free_result']($request);

    // Add colors only on installed SSI Member Color Link
    if (function_exists('ssi_loadColors') && !empty($colorids))
    {
    global $color_profile;
    ssi_loadColors($colorids);
    foreach ($return as $k => $p)
    {
    $profile = $color_profile[$p['id']];
    if (!empty($profile))
    $return[$k]['link'] = $profile['link'];
    }
    }

    if ($output_method != 'echo')
    return $return;

    if (empty($return))
    return;

    echo '
    <table class="ssi_table">
    <tr>
    <th align="left"></th>
    <th align="left">', $txt['thank_you_post_made_display'], '</th>
    <th align="left">', $txt['thank_you_post_became_display'], '</th>
    </tr>';
    foreach ($return as $temp)
    echo '
    <tr>
    <td align="left">
    ', $temp['link'], '
    </td>
    <td align="right">', $temp['thank_you_post_made'], '</td>
    <td align="right">', $temp['thank_you_post_became'], '</td>
    </tr>';
    echo '
    </table>';
    }

    // Check the passed id_member/password.  If $is_username is true, treats $id as a username.



    ./ssi_examples.php

    Pesquisar
    Código: [Seleccione]
    <h3>Miscellaneous</h3>
    Substituir por este
    Código: [Seleccione]
    <h3>Thank-O-Matic</h3>
    <ul>
    <li><a href="#" onclick="showSSIBlock('ssi_thankYouPostTopResived'); return false;">Top Thank You Received</a></li>
    <li><a href="#" onclick="showSSIBlock('ssi_thankYouPostTopGiven'); return false;">Top Thank You Given</a></li>
    </ul>
    <h3>Miscellaneous</h3>


    Pesquisar
    Código: [Seleccione]
    <!-- MISCELLANEOUS -->

    Trocar por
    Código: [Seleccione]
    <!-- THANK-O-MATIC FUNCTION  -->
    <div class="ssi_preview" id="ssi_thankYouPostTopResived">
    <h2>Top Thank You Received</h2>

    <h3>Code</h3>
    <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code">&lt;?php ssi_thankYouPostTopResived(); ?&gt;</code>
    <h3>Result</h3>
    <div class="ssi_result"><?php ssi_thankYouPostTopResived(); flush(); ?></div>
    </div>
    <div class="ssi_preview" id="ssi_thankYouPostTopGiven">
    <h2>Top Thank You Given</h2>

    <h3>Code</h3>
    <div class="codeheader">Code: <a href="javascript:void(0);" onclick="return smfSelectText(this);" class="codeoperation">[Select]</a></div><code class="bbc_code">&lt;?php ssi_thankYouPostTopGiven(); ?&gt;</code>
    <h3>Result</h3>
    <div class="ssi_result"><?php ssi_thankYouPostTopGiven(); flush(); ?></div>
    </div>

    <!-- MISCELLANEOUS -->


    ./Sources/Admin.php

    Código: [Seleccione]
    'current_theme' => array(
    Substituir Por

    Código: [Seleccione]
    'thankyoupostsettings' => array(
    'label' => $txt['thankyouposttitle'],
    'file' => 'ManageThankYouPost.php',
    'function' => 'ManageThankYouPost',
    'icon' => 'thank_you_settings.gif',
    'subsections' => array(
    'general' => array($txt['general_settings']),
    'layout' => array($txt['mods_cat_layout']),
    'permission' => array($txt['edit_permissions'], 'enabled' => allowedTo('manage_permissions')),
    'boards' => array($txt['admin_boards']),
    'modrelated' => array($txt['thxmodification']),
    ),
    ),
    'current_theme' => array(

    Pesquisar
    Código: [Seleccione]
    'reports' => array(
    'enabled' => in_array('rg', $context['admin_features']),
    'label' => $txt['generate_reports'],
    'file' => 'Reports.php',
    'function' => 'ReportsMain',
    'icon' => 'reports.gif',
    ),

    Substituir Por

    Código: [Seleccione]
    'reports' => array(
    'enabled' => in_array('rg', $context['admin_features']),
    'label' => $txt['generate_reports'],
    'file' => 'Reports.php',
    'function' => 'ReportsMain',
    'icon' => 'reports.gif',
    ),
    'maintainThankYouPost' => array(
    'label' => $txt['maintain_thxpost'],
    'file' => 'ThankYouPost-Maintaince.php',
    'icon' => 'thank_you_maintain.gif',
    'function' => 'ManageMaintenanceThankYouPost',
    'subsections' => array(
    'maintain' => array($txt['maintain_thank_you_post_maintainaince'], 'admin_forum'),
    'recount' => array($txt['maintain_thank_you_post_recount'], 'admin_forum'),
    ),
    ),


    ./Sources/Display.php

    Pesquisar
    Código: [Seleccione]
    t.id_member_started, t.id_first_msg, t.id_last_msg, t.approved,

    Trocar por
     
    Código: [Seleccione]
    t.thank_you_post_locked,
    t.id_member_started, t.id_first_msg, t.id_last_msg, t.approved,



    Pesquisar
    Código: [Seleccione]
    $context['is_hot'] = $topicinfo['num_replies'] >= $modSettings['hotTopicPosts'];
    $context['is_approved'] = $topicinfo['approved'];

    Substituir por
    Código: [Seleccione]
    $context['is_hot'] = $topicinfo['num_replies'] >= $modSettings['hotTopicPosts'];
    $context['is_approved'] = $topicinfo['approved'];

    // Some Thanky You things ;)
    $context['is_thank_you_post_locked'] = $topicinfo['thank_you_post_locked'];
    $context['thank_you_lock_allowed'] = !empty($board_info['thank_you_post_enable']) && !$user_info['is_guest'] && (allowedTo('thank_you_post_lock_all_any') || (allowedTo('thank_you_post_lock_all_own') && $user_info['id'] == $topicinfo['id_member_started']));
    $context['thank_you_post_enable'] = $board_info['thank_you_post_enable'];
    $context['thank_you_post_unlock_all'] = false;


    Pesquisar
    Código: [Seleccione]
    FROM {db_prefix}messages
    WHERE id_topic = {int:current_topic}


    Adidionar depois
    Código: [Seleccione]
    '.($board_info['thank_you_post_enable'] ? ', thank_you_post' : '').'

    Pesquisar
    Código: [Seleccione]
    $messages = array();
    $posters = array();

    ou

    Código: [Seleccione]
    $messages = array();
    $all_posters = array();

    Adicionar depois esta linha
    Código: [Seleccione]
    $thank_you_posts = array();
    Pesquisar
    Código: [Seleccione]
    if (!empty($row['id_member']))
    $all_posters[$row['id_msg']] = $row['id_member'];
    $messages[] = $row['id_msg'];

    Adicionar por Baixo
    Código: [Seleccione]
    if (!empty($row['thank_you_post']))
    $thank_you_posts[] = $row['id_msg'];


    Pesquisar
    Código: [Seleccione]
    // This is better than sorting it with the query...
    ksort($temp);

    foreach ($temp as $row)
    $attachments[$row['id_msg']][] = $row;
    }

    Substituir por
    Código: [Seleccione]
    // This is better than sorting it with the query...
    ksort($temp);

    foreach ($temp as $row)
    $attachments[$row['id_msg']][] = $row;
    }

    $context['thank_you_post']['postet_thanks'] = array();
    $context['thank_you_post']['topic'] = null;

    // The user will a thank you list?
    if ($board_info['thank_you_post_enable'] && (allowedTo('thank_you_post_show') || allowedTo('thank_you_post_post')))
    {
    // Possible strange settings fix...
    if (!empty($modSettings['thankYouPostDisableUnhide']) && empty($modSettings['thankYouPostThxUnhideAll']) && empty($modSettings['thankYouPostUnhidePost']))
    $modSettings['thankYouPostDisableUnhide'] = 0;
    $modSettings['thankYouPostType'] = empty($modSettings['thankYouPostType']) ? 0 : $modSettings['thankYouPostType'];

    if (!empty($modSettings['thankYouPostPreview']) && !empty($thank_you_posts) && allowedTo('thank_you_post_show'))
    {
    // Should i gernerate a list? Need a extra query :)
    require_once($sourcedir . '/ThankYouPost.php');
    ThankYouPostList($thank_you_posts, true);
    }
    // Let's say the user try everything... even if it not logical :P
    else
    {
    $modSettings['thankYouPostCounterOutput'] = empty($modSettings['thankYouPostCounterOutput']) ? 0 : $modSettings['thankYouPostCounterOutput'];
    $context['thank_you_post_template']['disable_counter_text'] = $modSettings['thankYouPostCounterOutput'] == 2;
    $context['thank_you_post_template']['disable_counter_link'] = $modSettings['thankYouPostCounterOutput'] == 1;
    }

    // Okay no preview so in need to load the data extra for this :)
    if (!empty($thank_you_posts) && !empty($user_info['id']) && allowedTo('thank_you_post_post'))
    {
    // Search for one made or the made one in the thread ;)
    $thx = $smcFunc['db_query']('', '
    SELECT id_thx_post, id_msg
    FROM {db_prefix}thank_you_post
    WHERE id_topic = {int:topic}
    AND id_member = {int:id_member}
    ' . (!empty($modSettings['thankYouPostType']) ? 'AND id_msg IN ({array_int:thank_you_posts})' : '') . '
    {raw:limit}',
    array(
    'topic' => $topic,
    'id_member' => $user_info['id'],
    'limit' => $modSettings['thankYouPostType'] != 1 ? 'LIMIT 1' : '',
    'thank_you_posts' => $modSettings['thankYouPostType'] == 1 ? $thank_you_posts : array($context['topic_first_message']),
    )
    );

    while ($row = $smcFunc['db_fetch_assoc']($thx))
    $context['thank_you_post']['postet_thanks'][$row['id_msg']] = $row['id_thx_post'];
    $smcFunc['db_free_result']($thx);

    $context['thank_you_post']['topic'] = $topic;

    // Okay Hide Tag Special Handling in Thank You Mod
    if (!empty($modSettings['thankYouPostDisableUnhide']))
    $context['user_post_avaible'] = 0;
    // Unhide all after one post?
    if (!empty($modSettings['thankYouPostThxUnhideAll']) && !empty($context['thank_you_post']['postet_thanks']))
    $context['user_post_avaible'] = 1;
    }
    elseif (!empty($modSettings['thankYouPostDisableUnhide']))
    $context['user_post_avaible'] = 0;
    }


    Pesquisar
    Código: [Seleccione]
    id_msg_modified < {int:new_from} AS is_read
    FROM {db_prefix}messages

    Adicionar por baixo
    Código: [Seleccione]
    ' . ($board_info['thank_you_post_enable'] && allowedTo('thank_you_post_show') ? 'thank_you_post, thank_you_post_counter,' : '') . '
    Pesquisar
    Código: [Seleccione]
    // Do the censor thang.
    censorText($message['body']);
    censorText($message['subject']);

    Adicionar por baixo
    Código: [Seleccione]
    // Second Option for unhide content, for special hide tag
    $disable_unhideafter = false;
    if ((!empty($modSettings['thankYouPostUnhidePost']) && empty($context['user_post_avaible']) && isset($context['thank_you_post']['postet_thanks'][$message['id_msg']]) && empty($modSettings['thankYouPostThxUnhideAll'])) || (!empty($modSettings['thankYouPostDisableUnhide']) && $user_info['id'] == $message['id_member']))
    {
    $disable_unhideafter = true;
    $context['user_post_avaible'] = 1;
    }

    Pesquisar
    Código: [Seleccione]
    'can_see_ip' => allowedTo('moderate_forum') || ($message['id_member'] == $user_info['id'] && !empty($user_info['id'])),
    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post' => array(
    'post' =>
    // Sorry i need to clear it for me... it's a huge check you know *g*
    $context['thank_you_post_enable']
    && empty($context['is_thank_you_post_locked'])
    && allowedTo('thank_you_post_post')
    && $user_info['id'] != $message['id_member']
    && !isset($context['thank_you_post']['postet_thanks'][$message['id_msg']])
    && (
    !empty($modSettings['thankYouPostOnePerPost'])
    ||
    (
    empty($modSettings['thankYouPostFirstPostOnly'])
    &&
    empty($context['thank_you_post']['postet_thanks'])
    )
    ||
    (
    !empty($modSettings['thankYouPostFirstPostOnly'])
    &&
    $context['topic_first_message'] == $message['id_msg']
    )
    )
    ,
    'lock' => $context['thank_you_post_enable'] && empty($context['is_thank_you_post_locked']) && (allowedTo('thank_you_post_lock_any') || (allowedTo('thank_you_post_lock_own') && $user_info['id'] == $message['id_member'])),
    'delete' => $context['thank_you_post_enable'] && allowedTo('thank_you_post_delete_any') || (allowedTo('thank_you_post_delete_own') && $user_info['id'] == $message['id_member']),
    'counter' => $context['thank_you_post_enable'] && !empty($message['thank_you_post_counter']) ? $message['thank_you_post_counter'] : '0',
    'locked' => $context['thank_you_post_enable'] && !empty($message['thank_you_post']) && $message['thank_you_post'] > 1,
    'isThankYouPost' => $context['thank_you_post_enable'] && !empty($message['thank_you_post']) && $message['thank_you_post'] >= 1,
    'href' => $context['thank_you_post_enable'] ? $scripturl . '?action=thankyoupostlist;topic='  . $topic . '.0;msg=' . $message['id_msg'] : '',
    ),


    Pesquisar
    Código: [Seleccione]
    if (empty($options['view_newest_first']))
    $counter++;
    else
    $counter--;

    Adicionar por baixo
    Código: [Seleccione]
    // This Options apear only if realy a thank you is in there, and one is locked *g*
    if ($context['thank_you_post_enable'] && allowedTo('thank_you_post_unlock_all') && !empty($message['thank_you_post']) && $message['thank_you_post'] > 1)
    $context['thank_you_post_unlock_all'] = true;

    // Second Option for unhide content, for special hide tag
    if ($disable_unhideafter)
    $context['user_post_avaible'] = 0;



    /Sources/Load.php

    Pesquisar
    Código: [Seleccione]
    'permissions' => array(),
    Substituir por
    Código: [Seleccione]
    'permissions' => array(),
    'last_thank_you_time' => isset($user_settings['last_thank_you_time']) ? $user_settings['last_thank_you_time'] : 0,

    Pesquisar
    Código: [Seleccione]
    b.id_theme, b.override_theme, b.count_posts, b.id_profile,
    Substituir
    Código: [Seleccione]
    b.id_theme, b.override_theme, b.count_posts, b.id_profile,
    b.thank_you_post_enable,


    Pesquisar
    Código: [Seleccione]
    'posts_count' => empty($row['count_posts']),
    Substituir
    Código: [Seleccione]
    'posts_count' => empty($row['count_posts']),
    'thank_you_post_enable' => empty($row['thank_you_post_enable']),

    Pesquisar
    Código: [Seleccione]
    mem.birthdate, mem.member_ip, mem.member_ip2, mem.icq, mem.aim, mem.yim, mem.msn, mem.posts, mem.last_login,
    mem.karma_good, mem.id_post_group, mem.karma_bad, mem.lngfile, mem.id_group, mem.time_offset, mem.show_online,

    Adicionar por baixo
    Código: [Seleccione]
    mem.thank_you_post_made, mem.thank_you_post_became, last_thank_you_time,

    Pesquisar
    Código: [Seleccione]
    mem.time_format, mem.secret_question, mem.is_activated, mem.additional_groups, mem.smiley_set, mem.show_online,
    mem.total_time_logged_in, mem.id_post_group, mem.notify_announcements, mem.notify_regularity, mem.notify_send_body,

    Adicionar
    Código: [Seleccione]
    mem.thank_you_post_made, mem.thank_you_post_became, last_thank_you_time,

    Pesquisar
    Código: [Seleccione]
    mem.id_member, mem.member_name, mem.real_name, mem.email_address, mem.hide_email, mem.date_registered,
    Adicionar por baixo
    Código: [Seleccione]
    mem.thank_you_post_made, mem.thank_you_post_became, last_thank_you_time,

    Pesquisar
    Código: [Seleccione]
    'local_time' => timeformat(time() + ($profile['time_offset'] - $user_info['time_offset']) * 3600, false),
    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post' => array(
    'made' => &$profile['thank_you_post_made'],
    'became' => &$profile['thank_you_post_became'],
    'last_thank_you_time' => &$profile['last_thank_you_time'],
    ),

    Pesquisar
    Código: [Seleccione]
    // Load the template/language file using eval or require? (with eval we can show an error message!)
    Substituir
    Código: [Seleccione]
    // Call the Thank-O-Matic Function.
    function loadThankYouTemplateFunctions()
    {
    global $context;

    // Assume if is allready setup, but check something before ;)
    if (!empty($context['call_thank_you_post_func']))
    return true;

    // I try to find if the function is loaded, and if it loaded try to find out if the function exists :)
    // Define the standard :)
    $context['call_thank_you_post_func'] = 'callback_template_thank_you_post';

    if (function_exists('template_thank_you_post'))
    $context['call_thank_you_post_func'] = 'template_thank_you_post';
    }

    // This is the last check before you can call a diffrent function!
    function callback_template_thank_you_post($thankYouPost, $id_msg)
    {
    global $context, $sourcedir;

    // This is the last test if the Standard Function exists!
    if ($context['call_thank_you_post_func'] != 'callback_template_thank_you_post' && function_exists($context['call_thank_you_post_func']))
    return $context['call_thank_you_post_func']($thankYouPost, $id_msg);
    elseif (function_exists('template_thank_you_post'))
    return template_thank_you($thankYouPost, $id_msg) ;

    // This is the master function that will work evertime!
    require_once($sourcedir . '/ThankYouPost.php');
    return backup_template_thank_you_post($thankYouPost, $id_msg);
    }

    // Load the template/language file using eval or require? (with eval we can show an error message!)


    /Sources/ManageBoards.php

    Pesquisar
    Código: [Seleccione]
    'override_theme' => 0,
    Adicionar
    Código: [Seleccione]
    'thank_you_post_enable' => 0,

    Pesquisar
    Código: [Seleccione]
    $boardOptions['posts_count'] = isset($_POST['count']);
    Adicionar
    Código: [Seleccione]
    $boardOptions['thank_you_post_enable'] = isset($_POST['thank_you_post_enable']);


    /Sources/ManagePermissions.php

    Pesquisar
    Código: [Seleccione]
    'profile_view_own',
    'profile_identity_own',

    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post_show',

    Pesquisar
    Código: [Seleccione]
    'report_any',
    'send_topic',

    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post_post',
    'thank_you_post_lock_own',
    'thank_you_post_lock_any',
    'thank_you_post_delete_own',
    'thank_you_post_delete_any',
    'thank_you_post_delete_mem_own',
    'thank_you_post_delete_mem_any',
    'thank_you_post_lock_all_own',
    'thank_you_post_lock_all_any',

    Pesquisar
    Código: [Seleccione]
    'modify',
    'notification',

    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post',
    Pesquisar
    Código: [Seleccione]
    'poll',
    'notification',

    Adicionar Por BAIXO
    Código: [Seleccione]
    'thank_you_post',
    pESQUISAR

    Código: [Seleccione]
    'mark_any_notify' => array(false, 'notification', 'notification'),
    'mark_notify' => array(false, 'notification', 'notification'),

    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post_post' => array(false, 'thank_you_post', 'thank_you_post'),
    'thank_you_post_show' => array(false, 'thank_you_post', 'thank_you_post'),
    'thank_you_post_delete' => array(true, 'thank_you_post', 'thank_you_post', 'thank_you_post_any'),
    'thank_you_post_lock' => array(true, 'thank_you_post', 'thank_you_post', 'thank_you_post_any'),
    'thank_you_post_lock_all' => array(true, 'thank_you_post', 'thank_you_post', 'thank_you_post_any'),
    'thank_you_post_unlock_all' => array(false, 'thank_you_post', 'thank_you_post_any'),
    'thank_you_post_delete_mem' => array(true, 'thank_you_post', 'thank_you_post', 'thank_you_post_any'),




    Pesquisar
    Código: [Seleccione]
    'send_mail',
    'approve_posts',

    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post_post',
    'thank_you_post_lock',
    'thank_you_post_delete',
    'thank_you_post_delete_mem',
    'thank_you_post_lock_all',
    'thank_you_post_unlock_all',



    Sources/ManageSettings.php

    Pesquisar
    Código: [Seleccione]
    array('text', 'karmaSmiteLabel'),
    Substituir por
    Código: [Seleccione]
    array('text', 'karmaSmiteLabel'),
    '',
    // Yes i think the option is usefull here, too
    array('check', 'thankYouPostIncraseKarmaGood'),

    Pesquisar
    Código: [Seleccione]
    $fields_no_registration = array('posts', 'warning_status');
    Substituir por
    Código: [Seleccione]
    $fields_no_registration = array('posts', 'warning_status');
    // Extent the Standard Fields for Thank-O-Matic
    if (!empty($modSettings['thankYouPostMemberList']))
    {
    $standard_fields[] = 'thank_you_post_became';
    $fields_no_registration[] = 'thank_you_post_became';
    $standard_fields[] = 'thank_you_post_made';
    $fields_no_registration[] = 'thank_you_post_made';
    }

    Pesquisar
    Código: [Seleccione]
    // What fields can't you put on the registration page?
    $context['fields_no_registration'] = array('posts', 'warning_status');


    Substituir
    Código: [Seleccione]
    // What fields can't you put on the registration page?
    $context['fields_no_registration'] = array('posts', 'warning_status');
    // Extent the Standard Fields for Thank-O-Matic
    if (!empty($modSettings['thankYouPostMemberList']))
    {
    $standard_fields[] = 'thank_you_post_became';
    $context['fields_no_registration'][] = 'thank_you_post_became';
    $standard_fields[] = 'thank_you_post_made';
    $context['fields_no_registration'][] = 'thank_you_post_made';
    }



    /Sources/Memberlist.php

    Pesquisar
    Código: [Seleccione]
    $context['colspan'] = 0;
    Substituir
    Código: [Seleccione]
    // Thank-O-Matic Extent the Memerlist with Addition Data
    if(!empty($modSettings['thankYouPostMemberList']))
    {
    $context['columns'] += array(
    'thank_you_post_became' => array(
    'label' => $txt['standard_profile_field_thank_you_post_became'],
    'width' => '120',
    'default_sort_rev' => true,
    ),
    'thank_you_post_made' => array(
    'label' => $txt['standard_profile_field_thank_you_post_made'],
    'width' => '100',
    'default_sort_rev' => true,
    )
    );

    // Change the size as the user wish for ;).
    if(!empty($modSettings['thankYouPostMemberListSizeBecame']))
    $context['columns']['thank_you_post_became']['width'] = $modSettings['thankYouPostMemberListSizeBecame'];
    if(!empty($modSettings['thankYouPostMemberListSizeMade']))
    $context['columns']['thank_you_post_made']['width'] = $modSettings['thankYouPostMemberListSizeMade'];
    }

    $context['colspan'] = 0;

    Pesquisar
    Código: [Seleccione]
    foreach ($context['columns'] as $key => $column)
    {

    Substituir por
    Código: [Seleccione]
    // Thank-O-Matic do not output this fields :P if the modifcation is disabled :D
    if(empty($modSettings['thankYouPostMemberList']))
    $context['disabled_fields'] += array('thank_you_post_became' => 1, 'thank_you_post_made' => 1);
    else
    {
    if(!empty($modSettings['thankYouPostMemberListDisableBecame']))
    $context['disabled_fields'] += array('thank_you_post_became' => 1);
    if(!empty($modSettings['thankYouPostMemberListDisableMade']))
    $context['disabled_fields'] += array('thank_you_post_made' => 1);
    }

    foreach ($context['columns'] as $key => $column)
    {

    Pesquisar
    Código: [Seleccione]
    $limit = $_REQUEST['start'];
    Substituir por
    Código: [Seleccione]
    // Extent for the Thank-O-Matic the sorts :)
    if(!empty($modSettings['thankYouPostMemberList']))
    {
    $sort_methods += array(
    'thank_you_post_became' => array(
    'down' => 'mem.thank_you_post_became DESC',
    'up' => 'mem.thank_you_post_became ASC'
    ),
    'thank_you_post_made' => array(
    'down' => 'mem.thank_you_post_made DESC',
    'up' => 'mem.thank_you_post_made ASC'
    )
    );
    }

    $limit = $_REQUEST['start'];


    Pesquisar
    Código: [Seleccione]
    $context['members'][$member]['registered_date'] = strftime('%Y-%m-%d', $context['members'][$member]['registered_timestamp']);

    Substituir por
    Código: [Seleccione]
    $context['members'][$member]['registered_date'] = strftime('%Y-%m-%d', $context['members'][$member]['registered_timestamp']);

    // Resort some Options for the output of the Thank-O-Matic
    if(!empty($modSettings['thankYouPostMemberList']))
    {
    $context['members'][$member]['thank_you_post_made'] = $memberContext[$member]['thank_you_post']['made'];
    $context['members'][$member]['thank_you_post_became'] = $memberContext[$member]['thank_you_post']['became'];
    }


    /Sources/MoveTopic.php

    Pesquisar
    Código: [Seleccione]
    $smcFunc['db_query']('', '
    UPDATE {db_prefix}calendar
    SET id_board = {int:id_board}
    WHERE id_topic IN ({array_int:topics})',
    array(
    'id_board' => $toBoard,
    'topics' => $topics,
    )
    );

    Adicionar por baixo
    Código: [Seleccione]
    // Move the thank you's to the the new Board :)
    $smcFunc['db_query']('', '
    UPDATE {db_prefix}thank_you_post
    SET id_board = {int:id_board}
    WHERE id_topic IN ({array_int:topics})',
    array(
    'id_board' => $toBoard,
    'topics' => $topics,
    )
    );


    /Sources/Profile.php

    Pesquisar
    Código: [Seleccione]
    'permissions' => array(
    Substituir por
    Código: [Seleccione]
    'showThankYouPosts' => array(
    'label' => $txt['thankyoutitle'],
    'file' => 'Profile-ThankYouPost.php',
    'function' => 'showThankYouPosts',
    'subsections' => array(
    'messages' => array($txt['thankyou_messages_become'], 'profile_view_any'),
    'topics' => array($txt['thankyou_topics_become'], 'profile_view_any'),
    'messages_given' => array($txt['thankyou_messages_given'], 'profile_view_any'),
    'topics_given' => array($txt['thankyou_topics_given'], 'profile_view_any'),
    ),
    'permission' => array(
    'own' => array('profile_view_own'),
    'any' => array('profile_view_any'),
    )
    ),
    'permissions' => array(


    /Sources/Profile-Modify.php

    Pesquisar
    Código: [Seleccione]
    'yim' => array(
    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post_made' =>  array(
    'type' => 'callback',
    'callback_func' => 'thank_you_post_modify',
    'subtext' => $txt['thankyoutitle'],
    'permission' => 'admin_forum',
    // Set thank_you_post_became too!
    'input_validate' => create_function('&$value', '
    global $profile_vars, $cur_profile;

    $value = (int) $value;
    if (isset($_POST[\'thank_you_post_became\']))
    {
    $profile_vars[\'thank_you_post_became\'] = $_POST[\'thank_you_post_became\'] != \'\' ? (int) $_POST[\'thank_you_post_became\'] : "\'\'";
    $cur_profile[\'thank_you_post_became\'] = $_POST[\'thank_you_post_became\'] != \'\' ? (int) $_POST[\'thank_you_post_became\'] : \'\';
    }
    return true;
    '),
    'preload' => create_function('', '
    global $context, $cur_profile;

    $context[\'member\'][\'thank_you_post\'][\'became\'] = $cur_profile[\'thank_you_post_became\'];
    $context[\'member\'][\'thank_you_post\'][\'made\'] = $cur_profile[\'thank_you_post_made\'];

    return true;
    '),
    'enabled' => true,
    ),

    Pesquisar
    Código: [Seleccione]
    'website_title', 'website_url',
    Substituir por
    Código: [Seleccione]
    'website_title', 'website_url',
    'thank_you_post_made',



    /Sources/RemoveTopic.php
    Pesquisar
    Código: [Seleccione]
    UPDATE {db_prefix}messages
    SET icon = {string:recycled}

    Adicionar abaixo
    Código: [Seleccione]
    , thank_you_post = IF(thank_you_post = 1, 2, thank_you_post)
    Pesquisar
    Código: [Seleccione]
    // Make sure this message isn't getting deleted later on.
    Adicionar por Cima
    Código: [Seleccione]
    // Okay the thank you must be moved to the recycler too ;)
    $smcFunc['db_query']('', '
    UPDATE {db_prefix}thank_you_post
    SET
    id_topic = {int:id_topic},
    id_board = {int:recycle_board}
    WHERE id_msg = {int:id_msg}',
    array(
    'id_topic' => $topicID,
    'recycle_board' => $modSettings['recycle_board'],
    'id_msg' => $message,
    )
    );


    Pesquisar
    Código: [Seleccione]
    // Delete anything related to the topic.
    Adicionar antes
    Código: [Seleccione]
    // Delete the Thank You Posts from this topics, before the message removed... i need the starter of the messages <<
    require_once($sourcedir . '/ThankYouPost.php');
    ThankYouPostRemoveTopics($topics);


    /Sources/Security.php

    Pesquisar
    Código: [Seleccione]
    'move_any',
    'send_topic',

    Adicionar

    Código: [Seleccione]
            'thank_you_post_post', 'thank_you_post_lock_own', 'thank_you_post_lock_any',
    'thank_you_post_delete_own', 'thank_you_post_delete_any',
    'thank_you_post_delete_mem_own', 'thank_you_post_delete_mem_any',
    'thank_you_post_lock_all_own', 'thank_you_post_lock_all_any',
    'thank_you_post_unlock_all',


    /Sources/SplitTopics.php

    Pesquisar
    Código: [Seleccione]
    // Any associated reported posts better follow...
    Adicionar antes
    Código: [Seleccione]
    $smcFunc['db_query']('', '
    UPDATE {db_prefix}thank_you_post
    SET
    id_topic = {int:id_topic}
    WHERE id_msg IN ({array_int:split_msgs})',
    array(
    'split_msgs' => $splitMessages,
    'id_topic' => $split2_ID_TOPIC,
    )
    );

    Pesquisar
    Código: [Seleccione]
    // Merge log topic entries.
    Trocar por
    Código: [Seleccione]
    // Change the Thank You post to the new board and topic ;D
    $smcFunc['db_query']('', '
    UPDATE {db_prefix}thank_you_post
    SET
    id_topic = {int:id_topic},
    id_board = {int:target_board}
    WHERE id_topic IN ({array_int:deleted_topics})',
    array(
    'deleted_topics' => $deleted_topics,
    'id_topic' => $id_topic,
    'target_board' => $target_board,
    )
    );

    // Merge log topic entries.



    /Sources/Stats.php


    Pesquisar
    Código: [Seleccione]
    // Cache the ones we found for a bit, just so we don't have to look again.
    if ($temp !== $temp2)
    cache_put_data('stats_total_time_members', $temp2, 480);

    Trocar por
    Código: [Seleccione]
    // Cache the ones we found for a bit, just so we don't have to look again.
    if ($temp !== $temp2)
    cache_put_data('stats_total_time_members', $temp2, 480);

    // Thank-O-Matic Stats Callculation
    if (!empty($modSettings['thankYouPostStatsEnabled']))
    {
    // Load chached data for Thank-O-Matic, should speed up the stats for big boards :)
    $temp_thankomatic = cache_get_data('stats_thank_o_matic_members', 360);

    // Load Top Thank-O-Matic Stats :)
    $request = $smcFunc['db_query']('', '
    SELECT id_member, real_name, thank_you_post_became, thank_you_post_made
    FROM {db_prefix}members as mem' . (!empty($temp_thankomatic) ? '
    WHERE id_member IN ({array_int:member_list_cached})' : '') . '
    ORDER BY thank_you_post_made DESC
    LIMIT {int:limit}',
    array(
    'limit' => 10,
    'member_list_cached' => $temp_thankomatic,
    )
    );
    $collectThxid_member = array();
    $context['top_ThankOMatic_Given'] = array();
    while ($row = $smcFunc['db_fetch_assoc']($request))
    {
    $context['top_ThankOMatic_Given'][] = array(
    'id' => $row['id_member'],
    'name' => $row['real_name'],
    'href' => $scripturl . '?action=profile;u='  . $row['id_member'],
    'link' => '<a href="'  . $scripturl . '?action=profile;u='  . $row['id_member'] . '" title="' . $txt['thank_you_post_thx_display'] .' ' . $txt['thank_you_post_made_display'] . '">'  . $row['real_name'] . '</a>',
    'thank_you_post_became' => $row['thank_you_post_became'],
    'thank_you_post_made' => $row['thank_you_post_made']
    );

    $collectThxid_member[$row['id_member']] = $row['id_member'];
    }
    $smcFunc['db_free_result']($request);

    $request = $smcFunc['db_query']('', '
    SELECT id_member, real_name, thank_you_post_became, thank_you_post_made
    FROM {db_prefix}members' . (!empty($temp_thankomatic) ? '
    WHERE id_member IN ({array_int:member_list_cached})' : '') . '
    ORDER BY thank_you_post_became DESC
    LIMIT {int:limit}',
    array(
    'limit' => 10,
    'member_list_cached' => $temp_thankomatic,
    )
    );
    $context['top_ThankOMatic_Receive'] = array();
    while ($row = $smcFunc['db_fetch_assoc']($request))
    {
    $context['top_ThankOMatic_Receive'][] = array(
    'id' => $row['id_member'],
    'name' => $row['real_name'],
    'href' => $scripturl . '?action=profile;u='  . $row['id_member'],
    'link' => '<a href="'  . $scripturl . '?action=profile;u='  . $row['id_member'] . '" title="' . $txt['thank_you_post_thx_display'] .' ' . $txt['thank_you_post_became_display'] . '">'  . $row['real_name'] . '</a>',
    'thank_you_post_became' => $row['thank_you_post_became'],
    'thank_you_post_made' => $row['thank_you_post_made']
    );

    $collectThxid_member[$row['id_member']] = $row['id_member'];
    }
    $smcFunc['db_free_result']($request);

    // Chache the data for the Thank-O-Matic stats
    if($temp_thankomatic != $collectThxid_member)
    cache_put_data('stats_thank_o_matic_members', $collectThxid_member, 480);

    // Okay Fix the colors for the Thank You Post :)
    if (!empty($collectThxid_member) && !empty($modSettings['thankYouPostColors']) && empty($modSettings['MemberColorStats']))
    {
    global $sourcedir, $color_profile;

    // Okay load the colors and add them :)
    require_once($sourcedir.'/ThankYouPost.php');
    thank_you_post_loadColors($collectThxid_member);

    // Hoho let's color it the thx color way :D
    if (!empty($context['top_ThankOMatic_Given']))
    {
    foreach ($context['top_ThankOMatic_Given'] as $key => $items)
    {
    // Okay Let's boogie woogie ;D
    $profile = $color_profile[$items['id']];
    if (!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
    $context['top_ThankOMatic_Given'][$key]['link'] = '<a href="'  . $scripturl . '?action=profile;u='  . $profile['id_member'] . '" title="' . $txt['thank_you_post_thx_display'] .' ' . $txt['thank_you_post_made_display'] . '"><span style="color:'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).';">'  . $profile['real_name'] . '</span></a>';
    }
    }
    if (!empty($context['top_ThankOMatic_Receive']))
    {
    foreach ($context['top_ThankOMatic_Receive'] as $key => $items)
    {
    // Okay Let's boogie woogie ;D
    $profile = $color_profile[$items['id']];
    if (!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
    $context['top_ThankOMatic_Receive'][$key]['link'] = '<a href="'  . $scripturl . '?action=profile;u='  . $profile['id_member'] . '" title="' . $txt['thank_you_post_thx_display'] .' ' . $txt['thank_you_post_became_display'] . '"><span style="color:'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).';">'  . $profile['real_name'] . '</span></a>';
    }
    }
    }
    }


    /Sources/Subs.php

    Pesquisar
    Código: [Seleccione]
    'notify_announcements', 'notify_send_body', 'notify_regularity', 'notify_types',
    Adicionar por baixo
    Código: [Seleccione]
    'thank_you_post_became', 'thank_you_post_made',
    Pesquisar
    Código: [Seleccione]
    // Ensure posts, instant_messages, and unread_messages don't overflow or underflow.
    Adicionar por baixo
    Código: [Seleccione]
    // Ensure Thank-o_matic posts don't overflow or underflow.
    if (in_array($var, array('thank_you_post_became', 'thank_you_post_made')))
    {
    if (preg_match('~^'  . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match))
    {
    if ($match[1] != '+ ')
    $val = 'CASE WHEN '  . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE '  . $val . ' END';
    $type = 'raw';
    }
    }


    /Sources/Subs-Boards.php

    Pesquisar
    Código: [Seleccione]
    // This setting is a little twisted in the database...
    if (isset($boardOptions['posts_count']))
    {
    $boardUpdates[] = 'count_posts = {int:count_posts}';
    $boardUpdateParameters['count_posts'] = $boardOptions['posts_count'] ? 0 : 1;
    }

    Adicionar depois
    Código: [Seleccione]
    // So enable or disable the Thank You Post in a board :D...
    if (isset($boardOptions['thank_you_post_enable']))
    {
    $boardUpdates[] = 'thank_you_post_enable = {int:thank_you_post_enable}';
    $boardUpdateParameters['thank_you_post_enable'] = $boardOptions['thank_you_post_enable'] ? 0 : 1;
    }


    Pesquisar
    Código: [Seleccione]
    'posts_count' => true,
    Adicionar
    Código: [Seleccione]
    'thank_you_post_enable' => false,

    Pesquisar
    Código: [Seleccione]
    // Delete any message icons that only appear on these boards.
    Trocar por
    Código: [Seleccione]
    // Delete any Thank You Posts that only appear on these boards.
    $smcFunc['db_query']('', '
    DELETE FROM {db_prefix}thank_you_post
    WHERE id_board IN ({array_int:boards_to_remove})',
    array(
    'boards_to_remove' => $boards_to_remove,
    )
    );

    // Delete any message icons that only appear on these boards.

    Pesquisar
    Código: [Seleccione]
    b.board_order, b.count_posts, b.member_groups, b.id_theme, b.override_theme, b.id_profile,
    Adicionar antes
    Código: [Seleccione]
    b.thank_you_post_enable,
    Pesquisar
    Código: [Seleccione]
    'count_posts' => empty($row['count_posts']),
    Adiconar depois
    Código: [Seleccione]
    'thank_you_post_enable' => empty($row['thank_you_post_enable']),


    /default/index.template.php

    Pesquisar
    Código: [Seleccione]
    ?>
    Adicionar antes

    Código: [Seleccione]
    // A Output for the Thank You list, it's used for the Single Preview and Display Template :)
    function template_thank_you_post($thankYouPost, $id_msg)
    {
    global $txt, $context, $modSettings;

    if (!empty($context['thank_you_post'][$id_msg]))
    {
    if(empty($context['thank_you_post_template']['disable_start_text']))
    echo '
    <div class="smalltext" id="thank_you_start_text">', $context['thank_you_post_template']['start_text'] , '</div>';

    // Output the Thank You List...
    echo '
    <div class="smalltext" id="thank_you_list">';

    foreach ($context['thank_you_post'][$id_msg]['fulllist'] as $thx)
    echo $thx['link'] , (!empty($thx['deletelink']) ? $thx['deletelink'] : '').($thx['last'] ? '' : ', ');

    echo '
    </div>';
    }

    // Counter and Link to the direct or a link to the complete list :)
    if (empty($context['thank_you_post_template']['disable_counter_text']))
    {
    echo '
    <div class="smalltext" id="thank_you_list_link">';
    if (empty($context['thank_you_post_template']['disable_counter_link']))
    echo '
    <a href="', $thankYouPost['href'] ,'">';
    echo '
    ', $txt['thank_you_link_beforecounter'], ' <strong>', $thankYouPost['counter'], '</strong> ', ($thankYouPost['counter'] == 1 ? $txt['thank_you_link_member'] : $txt['thank_you_link_members']).' '.($thankYouPost['counter'] == 1 ? $txt['thank_you_link_aftercounter'] : $txt['thank_you_link_aftercounters']);
    if (empty($context['thank_you_post_template']['disable_counter_link']))
    echo '
    </a>';
    echo '
    </div>';
    }

    // Show some information if the Thank-O-Matic Post is locked
    if ($thankYouPost['locked'])
    echo '
    <div class="smalltext" id="thank_you_lock_text">', $txt['thank_you_is_locked'], '</div>';
    }



    /Themes/default/Display.template.php

    Pesquisar
    Código: [Seleccione]
    'print' => array('text' => 'print', 'image' => 'print.gif', 'lang' => true, 'custom' => 'rel="new_win nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0'),
    );


    Adicionar depois
    Código: [Seleccione]
    // Special Lock for the Thank You :)
    if ($context['thank_you_lock_allowed'])
    if (empty($context['is_thank_you_post_locked']))
    $normal_buttons['thankyoupostlock'] = array('text' => 'thank_you_post_lock_all_b', 'image' => 'thank_you_lock1.gif', 'lang' => true, 'url' => $scripturl . '?action=thankyoupostcloseall;topic='  . $context['current_topic']);
    else
    $normal_buttons['thankyoupostlock'] = array('text' => 'thank_you_post_open_all_b', 'image' => 'thank_you_lock2.gif', 'lang' => true, 'url' => $scripturl . '?action=thankyoupostcloseall;topic='  . $context['current_topic']);
    // A Fix for later, if some Translations are not Updated
    if (empty($txt['thank_you_link_aftercounters']))
    $txt['thank_you_link_aftercounters'] = $txt['thank_you_link_aftercounter'];

    Pesquisar ( Existe para RC3 Tambem Rc3 mais nao precisa mexer )
    Código: [Seleccione]
    echo '
    <form action="', $scripturl, '?action=quickmod2;topic=', $context['current_topic'], '.', $context['start'], '" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm" style="margin: 0;" onsubmit="return oQuickModify.bInEditMode ? oQuickModify.modifySave(\'' . $context['session_id'] . '\', \'' . $context['session_var'] . '\') : false">';

    Adicionar Antes ( RC5Nao precisa adicionar )
    Código: [Seleccione]
    // AJAX Style Thank You Post
    if (!empty($modSettings['thankYouPostAJAX']))
    {
    echo '
    <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
    var thank_you_ajax_url = smf_scripturl + \'?action=thankyouajax;topic=' . $context['current_topic'] . '\';

    function thankyou(msg_id) {
    // Follow the link if no ajax support...
    if (!window.XMLHttpRequest)
    return true;

    // Standard Variables
    var elementName = "ThankOMaticID" + msg_id;
    var elementButton = "buttonThxID" + msg_id;
    var elementLockButton = "thank_lock_button_" + msg_id;
    var elementDeleteButton = "thank_delete_button_" + msg_id;

    // Tell him that something loading :)
    ajax_indicator(true);

    // Remove the Thank You Button :)
    document.getElementById(elementButton).style.display = "none";
    document.getElementById(elementLockButton).style.display = "none";
    document.getElementById(elementDeleteButton).style.display = "none";

    var thank_you_ajax_thx = thank_you_ajax_url + ";sa=thx;msg=" + msg_id;
    var data = ThankYouLoadTextData(thank_you_ajax_thx, elementName, elementButton, elementDeleteButton, elementLockButton);

    return !data;
    }

    function ThankYouLoadTextData(url, elementName, elementButton, elementDeleteButton, elementLockButton) {
    if (!window.XMLHttpRequest)
    return false;

    request = new XMLHttpRequest();
    request.onreadystatechange = function() {
    if (request.readyState != 4)
    return;
    if (request.responseText != null && request.status == 200) {
    if (request.responseText.substr(0, 7) == "#ERROR#") {
    setInnerHTML(document.getElementById("Error" + elementName), request.responseText.substr(7));
    document.getElementById(elementName).style.display = "block";
    document.getElementById(elementButton).style.display = "inline";
    document.getElementById(elementLockButton).style.display = "none";
    document.getElementById(elementDeleteButton).style.display = "none";
    ajax_indicator(false);
    }
    else {
    document.getElementById(elementName).style.display = "block";
    setInnerHTML(document.getElementById(elementName), request.responseText);
    document.getElementById(elementButton).style.display = "none";
    document.getElementById(elementLockButton).style.display = "inline";
    document.getElementById(elementDeleteButton).style.display = "inline";
    ajax_indicator(false);
    }
    return false;
    }
    else {
    return true;
    }
    }
    // Load the Request!
    request.open("GET", url, true);
    request.send(null);
    return request;
    }
    // ]]></script>';
    }

    Pesquisar
    Código: [Seleccione]
    // Show avatars, images, etc.?
    Adicionar ntes
    Código: [Seleccione]
    // Show some Thank-O-Matic Stats ;D
    if (!empty($modSettings['thankYouPostDisplayPage']) && (empty($modSettings['thankYouPostDisplayDisableBecame']) || empty($modSettings['thankYouPostDisplayDisableMade'])))
    {
    echo '
    <li>', $txt['thank_you_post_thx_display'], '</li>';
    // Disabled?
    if(empty($modSettings['thankYouPostDisplayDisableMade']))
    echo '
    <li>-', $txt['thank_you_post_made_display'], ': ', $message['member']['thank_you_post']['made'], '</li>';

    // Disabled?
    if(empty($modSettings['thankYouPostDisplayDisableBecame']))
    echo '
    <li>-', $txt['thank_you_post_became_display'], ': ', $message['member']['thank_you_post']['became'], '</li>';
    }

    Pesquisar
    Código: [Seleccione]
    echo '
    <ul class="reset smalltext quickbuttons">';

    Adicionar depois
    Código: [Seleccione]
    // Thank-O-Matic need an reset sometimes... on special cases :D, Thanks to NIBIGO for the Bug info
    elseif (($message['thank_you_post']['post'] && !$message['thank_you_post']['locked']) || (($message['thank_you_post']['lock'] || $message['thank_you_post']['delete']) && $message['thank_you_post']['isThankYouPost']))
    echo '
    <ul class="reset smalltext quickbuttons">';


    Pesquisar
    Código: [Seleccione]
    // What about splitting it off the rest of the topic?
    if ($context['can_split'] && !empty($context['num_replies']))
    echo '
    <li class="split_button"><a href="', $scripturl, '?action=splittopics;topic=', $context['current_topic'], '.0;at=', $message['id'], '">', $txt['split'], '</a></li>';


    Código: [Seleccione]
    // Can do some Thank You Post things :)
    if ($message['thank_you_post']['post'] && !$message['thank_you_post']['locked'])
    {
    echo '
    <li class="thank_you_button"><span id="buttonThxID' . $message['id'] . '" style="display: inline;"><a id="buttonThxHrefID' . $message['id'] . '" href="', $scripturl, '?action=thankyou;topic=', $context['current_topic'], '.0;msg=', $message['id'], '"'.(!empty($modSettings['thankYouPostAJAX']) ? ' onclick="return thankyou(' . $message['id'] . ');"' : '').'>', $txt['thank_you_post_post_b'], '</a></span></li>';

    if(!empty($modSettings['thankYouPostAJAX']) && $context['browser']['is_ie']) {
    // I HATE INTERNET EXPLORER!!!!!!!!!!!!!!!!!!!!!!!
    echo '
    <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
    // Rewrite the url :x so that internet explorer can not follow it
    document.getElementById("buttonThxHrefID' . $message['id'] . '").href = "#msg=' . $message['id'] . '";
    // ]]></script>';
    }
    }

    // This is the Thank-O-Matic Lock Button with Ajax special Addon :D
    if ($message['thank_you_post']['lock'] && $message['thank_you_post']['isThankYouPost'])
    echo '
    <li class="', $message['thank_you_post']['locked'] ? 'thank_you_open_button' : 'thank_you_lock_button', '"><a href="', $scripturl, '?action=thankyoupostlock;topic=', $context['current_topic'], '.0;msg=', $message['id'], '">', $message['thank_you_post']['locked'] ? $txt['thank_you_post_open_b'] : $txt['thank_you_post_lock_b'], '</a></li>';
    elseif ($message['thank_you_post']['lock'] && !$message['thank_you_post']['isThankYouPost'] && !empty($modSettings['thankYouPostAJAX']) && empty($modSettings['thankYouPostAJAXModButtonsDisable']))
    echo '
    <li class="', $message['thank_you_post']['locked'] ? 'thank_you_open_button' : 'thank_you_lock_button', '" id="thank_lock_button_' . $message['id'] . '" style="display: none;"><a href="', $scripturl, '?action=thankyoupostlock;topic=', $context['current_topic'], '.0;msg=', $message['id'], '">', $message['thank_you_post']['locked'] ? $txt['thank_you_post_open_b'] : $txt['thank_you_post_lock_b'], '</a></li>';
    // This will prevent Java Script errors on most browser...
    elseif (!empty($modSettings['thankYouPostAJAX']) || !empty($modSettings['thankYouPostAJAXModButtonsDisable']))
    echo '
    <span id="thank_lock_button_' . $message['id'] . '" style="display: none;"></span>';

    // This is the Thank-O-Matic Delete Button with Ajax special Addon ;P
    if ($message['thank_you_post']['delete'] && $message['thank_you_post']['isThankYouPost'])
    echo '
    <li class="thank_you_delete_button"><a href="', $scripturl, '?action=thankyoupostdelete;topic=', $context['current_topic'], '.0;msg=', $message['id'], ';sesc=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_thank_you_post'], '?\');">', $txt['thank_you_post_delete_b'], '</a></li>';
    elseif ($message['thank_you_post']['delete'] && !$message['thank_you_post']['isThankYouPost'] && !empty($modSettings['thankYouPostAJAX']) && empty($modSettings['thankYouPostAJAXModButtonsDisable']))
    echo '
    <li class="thank_you_delete_button" id="thank_delete_button_' . $message['id'] . '" style="display: none;"><a href="', $scripturl, '?action=thankyoupostdelete;topic=', $context['current_topic'], '.0;msg=', $message['id'], ';sesc=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_thank_you_post'], '?\');">', $txt['thank_you_post_delete_b'], '</a></li>';
    // This will prevent Java Script errors on most browser...
    elseif (!empty($modSettings['thankYouPostAJAX']) || !empty($modSettings['thankYouPostAJAXModButtonsDisable']))
    echo '
    <span id="thank_delete_button_' . $message['id'] . '" style="display: none;"></span>';


    Pesquisar
    Código: [Seleccione]
    if ($message['can_approve'] || $context['can_reply'] || $message['can_modify'] || $message['can_remove'] || $context['can_split'] || $context['can_restore_msg'])
    echo '
    </ul>';

    Adicionar antes
    Código: [Seleccione]
    // Thank-O-Matic okay close the ul on sometimes :D
    elseif (($message['thank_you_post']['post'] && !$message['thank_you_post']['locked']) || (($message['thank_you_post']['lock'] || $message['thank_you_post']['delete']) && $message['thank_you_post']['isThankYouPost']))
    echo '
    </ul>';

    Pesquisar
    Código: [Seleccione]
    // Restore topic. eh?  No monkey business.
    Adicionar antes

    Código: [Seleccione]
    if($context['thank_you_post_unlock_all'])
    $mod_buttons[] = array('text' => 'thank_you_post_unlock_all', 'image' => 'thankyoulock2.gif', 'lang' => true, 'url' => $scripturl . '?action=thankyoupostunlockall;topic='  . $context['current_topic'] . '.0');



    /Themes/default/ManageBoards.template.php

    Pesquisar
    Código: [Seleccione]
    echo '
    <input type="hidden" name="rid" value="', $context['redirect_location'], '" />

    Adicionar antes
    Código: [Seleccione]
    echo '
    <div id="thank_o_matic_div">
    <dl class="settings">
    <dt>
    <strong>', $txt['mboards_thank_you_post_enable'], ':</strong><br />
    <span class="smalltext">', $txt['mboards_thank_you_post_enable_desc'], '</span><br />
    </dt>
    <dd>
    <input type="checkbox" name="thank_you_post_enable"', $context['board']['thank_you_post_enable'] ? ' checked="checked"' : '', ' class="input_check" />
    </dd>
    </dl>
    </div>';



    /Themes/default/Profile.template.php

    Pesquisar
    Código: [Seleccione]
    <a href="', $scripturl, '?action=profile;area=showposts;u=', $context['id_member'], '">', $txt['showPosts'], '</a><br />
    Substituir por este
    Código: [Seleccione]
    <a href="', $scripturl, '?action=profile;area=showposts;u=', $context['id_member'], '">', $txt['showPosts'], '</a><br />
    <a href="', $scripturl, '?action=profile;area=showThankYouPosts;u=', $context['id_member'], '">', $txt['thankyoutitle_show'], '</a><br />


    Pesquisar
    Código: [Seleccione]
    // Show the users signature.
    if ($context['signature_enabled'] && !empty($context['member']['signature']))


    Substituir por este
    Código: [Seleccione]
    // Thank You Infomations :)
    echo '
    <dl>
    <h5>', $txt['thankyoutitle'], ':</h5>
    <dt>', $txt['thankyoupostmade'], ':</dt>
    <dd>', $context['member']['thank_you_post']['made'], '</dd>
    <dt>', $txt['thankyoupostbecame'], ':</dt>
    <dd>', $context['member']['thank_you_post']['became'], '</dd>
    </dl>';

    // Show the users signature.
    if ($context['signature_enabled'] && !empty($context['member']['signature']))

    Pesquisar
    Código: [Seleccione]
    // Callback for modifying karam.
    function template_profile_karma_modify()

    Substituir por este
    Código: [Seleccione]
    // Callback for modifying Thank-O-Matic Stats ;D
    function template_profile_thank_you_post_modify()
    {
    global $context, $modSettings, $txt;

    // Admins are allowed to change the Thank-O-Matic Stats :D
    echo '
    <dt>
    <strong>', $txt['thankyoutitle'], ' ', $txt['thankyoupostmade'], ': </strong>
    </dt>
    <dd>
    <input type="text" name="thank_you_post_made" size="4" value="', $context['member']['thank_you_post']['made'], '" />
    </dd>
    <dt>
    <strong>', $txt['thankyoutitle'], ' ', $txt['thankyoupostbecame'], ': </strong>
    </dt>
    <dd>
    <input type="text" name="thank_you_post_became" size="4" value="', $context['member']['thank_you_post']['became'], '" />
    </dd>';
    }

    // Callback for modifying karam.
    function template_profile_karma_modify()


    /Themes/default/Memberlist.template.php

    Pesquisar
    Código: [Seleccione]
    echo '
    </tr>';
    }

    Substituir por este
    Código: [Seleccione]
    // Thank-O-Matic show on Memberlist the Output
    if (!isset($context['disabled_fields']['thank_you_post_became']))
    echo '
    <td class="windowbg2">', $member['thank_you_post']['became'], '</td>';
    if (!isset($context['disabled_fields']['thank_you_post_made']))
    echo '
    <td class="windowbg2">', $member['thank_you_post']['made'], '</td>';

    echo '
    </tr>';
    }


    /Themes/default/Stats.template.php

    Pesquisar
    Código: [Seleccione]
    echo '
    <span>', $poster['time_online'], '</span>
    </dd>';
    }

    Substituir por este
    Código: [Seleccione]
    echo '
    <span>', $poster['time_online'], '</span>
    </dd>';
    }

    // Thank-O-Matic Stats
    if (!empty($modSettings['thankYouPostStatsEnabled']))
    {
    echo '
    </dl>
    <div class="clear"></div>
    </div>
    <span class="botslice"><span></span></span>
    </div>
    </div>
    </div>
    <div class="flow_hidden">
    <div id="most_thank_you_receive">
    <h3 class="catbg"><span class="left"></span>
    <img src="', $settings['images_url'], '/buttons/thank_you_b.gif" class="icon" alt="" /> ', $txt['thank_you_post_Top10Receive'], ' <span class="smalltext">(', $txt['thank_you_post_became_display'], ' / ', $txt['thank_you_post_made_display'], ')</span>
    </h3>
    <div class="windowbg">
    <span class="topslice"><span></span></span>
    <div class="content">
    <dl class="stats">';

    foreach ($context['top_ThankOMatic_Receive'] as $poster)
    echo '
    <dt>', $poster['link'], '</dt>
    <dd>', $poster['thank_you_post_became'], '/', $poster['thank_you_post_made'], '</dd>';

    echo '
    </dl>
    <div class="clear"></div>
    </div>
    <span class="botslice"><span></span></span>
    </div>
    </div>
    <div id="most_thank_you_given">
    <h3 class="catbg"><span class="left"></span>
    <img src="', $settings['images_url'], '/buttons/thank_you_b.gif" class="icon" alt="" /> ', $txt['thank_you_post_Top10Given'], ' <span class="smalltext">(', $txt['thank_you_post_made_display'], ' / ', $txt['thank_you_post_became_display'], ')</span>
    </h3>
    <div class="windowbg2">
    <span class="topslice"><span></span></span>
    <div class="content">
    <dl class="stats">';

    foreach ($context['top_ThankOMatic_Given'] as $poster)
    echo '
    <dt>', $poster['link'], '</dt>
    <dd>', $poster['thank_you_post_made'], '/', $poster['thank_you_post_became'], '</dd>';
    }



    Themes/default/css/index.css

    Pesquisar
    Código: [Seleccione]
    ul.quickbuttons li.restore_button
    {
    background: url(../images/theme/quickbuttons.png) no-repeat 0 -120px;
    }


    Adicionar depois
    Código: [Seleccione]
    /* This are the the Thank-O-Matic Buttons START */
    ul.quickbuttons li.thank_you_button
    {
    background: url(../images/buttons/thank_you_b.gif) no-repeat;
    }
    ul.quickbuttons li.thank_you_open_button
    {
    background: url(../images/buttons/thank_you_open.gif) no-repeat;
    }
    ul.quickbuttons li.thank_you_lock_button
    {
    background: url(../images/buttons/thank_you_lock.gif) no-repeat;
    }
    ul.quickbuttons li.thank_you_delete_button
    {
    background: url(../images/buttons/thank_you_delete.gif) no-repeat;
    }
    /* This are the the Thank-O-Matic Buttons END */


    Pesquisar
    Código: [Seleccione]
    /* Styles for the help section.
    ------------------------------------------------- */

    Adicionar antes
    Código: [Seleccione]
    /* Styles for the Thank-O-Matic sections.
    ------------------------------------------------- */
    .ThankOMatic
    {
    margin: 0.5em 0.5em 0.5em 0.5em;
    padding: 0.2em 0.2em 0.2em 0.2em;
    }

    .ThankOMatic #thank_you_start_text
    {
    }

    .ThankOMatic #thank_you_list
    {
    font-family: arial, helvetica, sans-serif;
    padding-left: 0.5em;
    padding-top: 0.2em;
    }

    .ThankOMatic #thank_you_list_link
    {
    }

    .ThankOMatic #thank_you_lock_text
    {
    font-style: italic;
    }

    #most_thank_you_receive
    {
    float:left;
    width: 49.5%;
    }
    #most_thank_you_given
    {
    float: right;
    width: 49.5%;
    }

    Tem os ficheiro do core por alterar  se alguem estiver a usar core diga  para eu fazer alteracao manual

    /Themes/core/index.template.php

    /Themes/core/Display.template.php

    /Themes/core/Memberlist.template.php

    /Themes/core/Stats.template.php

    /Themes/core/css/index.css


    Themes/default/languages/Admin.english.php

    Pesquisar
    Código: [Seleccione]
    ?>
    Adiciona antes

    Código: [Seleccione]
    //Thank-O-Matic
    $txt['thankyouposttitle'] = 'Thank-O-Matic';
    $txt['maintain_thxpost'] = 'Maintaince Thank-O-Matic';
    $txt['maintain_thank_you_post_maintainaince'] = 'Maintaince';
    $txt['maintain_thank_you_post_maintainaince_desc'] = 'Optimize Thank-O-Matic tables, Delete Thank You Posts of specific members.';
    $txt['maintain_thank_you_post_recount'] = 'Stats Recount';
    $txt['maintain_thank_you_post_recount_desc'] = 'Recalculate Thank-O-Matic Stats for all, thread based or member specific.';
    $txt['maintain_thxpostrecount'] = 'Recalculate Thank-O-Matic stats';
    $txt['maintain_thxpostrecount_info'] = 'Recalculate most of the Thank-O-Matic stats, and reset also manual changed values.';
    $txt['maintain_thxpostrecount_member'] = 'Recalculate Thank-O-Matic Member stats';
    $txt['maintain_thxpostrecount_member_info'] = 'Recalculate the Thank-O-Matic stats of one Member.';
    $txt['maintain_thxpostrecount_member_value'] = 'Please insert the Member ID for recalculation here:';
    $txt['maintain_thxpostrecount_topic'] = 'Recalculate Thank-O-Matic Topic stats';
    $txt['maintain_thxpostrecount_topic_info'] = 'Recalculate the Thank-O-Matic stats of one Topic.';
    $txt['maintain_thxpostrecount_topic_value'] = 'Please insert the Topic ID for recalculation here:';
    $txt['maintain_thxpostrepair'] = 'Repair and optimize Thank-O-Matic tables';
    $txt['maintain_thxpostrepair_info'] = 'Delete all not needed items, remove thank you posts of disabled board (or deleted boards).';
    $txt['maintain_thank_you_optimize'] = 'Repair and optimize Thank-O-Matic Tables';
    // Please don't forget to insert [MEMBER], this will insert the link to the member profile
    $txt['maintain_thank_you_deleteMemberposts'] = 'Delete Thankyoupost of Member: [MEMBER]';
    $txt['maintain_thank_you_recountAll'] = 'Recount All Thank-O-Matic Stats';
    // Please don't forget to insert [MEMBER], this will insert the link to the member profile
    $txt['maintain_thank_you_recountMember'] = 'Recount Topic Thank-O-Matic Stats for the Member: [MEMBER]';
    // Please don't forget to insert [TOPIC], this will insert the link to the Topic
    $txt['maintain_thank_you_recountTopic'] = 'Recount Topic Thank-O-Matic Stats for [TOPIC]';


    /Themes/default/languages/index.english.php

    Pesquisar
    Código: [Seleccione]
    ?>
    Adicionar antes
    Código: [Seleccione]
    //Thank You text for the Thread :)
    $txt['thank_you_link_beforecounter'] = 'For this post,';
    $txt['thank_you_link_members'] = 'members';
    $txt['thank_you_link_member'] = 'member';
    $txt['thank_you_link_aftercounter'] = 'gave a thank you!';
    $txt['thank_you_link_aftercounters'] = 'gave a thank you!';
    $txt['thank_you_is_locked'] = 'Thank You is locked';
    $txt['thank_you_post_post_b'] = 'Thank You';
    $txt['thank_you_post_delete_b'] = 'Delete Thank You';
    $txt['thank_you_post_lock_b'] = 'Lock Thank You';
    $txt['thank_you_post_open_b'] = 'Open Thank You';
    $txt['thank_you_post_lock_all_b'] = 'Lock All Thank You';
    $txt['thank_you_post_open_all_b'] = 'Open All Thank You';
    $txt['remove_thank_you_post'] = 'Remove this Thank You';
    $txt['followgiveathank'] = 'Follow members gave a thank to your post:';
    $txt['thank_you_post_unlock_all'] = 'Unlock All Thank You Posts';
    $txt['thankyoupostlist'] = 'Thank You Post List (Complete)';
    $txt['thankyouposterrorinscript'] = 'Error in scirpt... somehow this should not happen!';
    $txt['thank_you_post_thx_display'] = 'Thank You';
    $txt['thank_you_post_made_display'] = 'Given';
    $txt['thank_you_post_became_display'] = 'Receive';
    $txt['standard_profile_field_thank_you_post_made'] = 'Given Thank You';
    $txt['standard_profile_field_thank_you_post_became'] = 'Received Thank You';


    /Themes/default/languages/ManageBoards.english.php
    Pesquisar
    Código: [Seleccione]
    ?>
    Adicionar antes
    Código: [Seleccione]
    //Thank-O-Matic
    $txt['mboards_thank_you_post_enable'] = 'Enable Thank-O-Matic';
    $txt['mboards_thank_you_post_enable_desc'] = 'This option enable the "Thank You" option for posts on this board';


    /Themes/default/languages/ManagePermissions.english.php
    « Última modificação: 21 de Abril de 2011, 08:02 por candidosa2 »

    Offline oliveirandre21

    • Moderador Global
    • *
    • Mensagens: 39
    • Rank: 1
    • Sexo: Masculino
      • Musica-Portuguesa
    Re: Thank-O-Matic Manual 2.0RC5
    « Responder #1 em: 20 de Abril de 2011, 20:21 »
  • Publicar
  • Es grande amigo. Grande trabalho. Obrigado

     


    Facebook Comentários