Thank Post Mod
Szerző
Üzenet
Tudna segíteni valaki e mód telepítésében, mert én nem igazán tudtam magam átrágni a telepítési útmutatón?
Hol találtad ezt a modot?
Szerintem használd a mod telepítési útmutatót amit itt elolvashatsz!!
Szerintem használd a mod telepítési útmutatót amit itt elolvashatsz!!
Maga a mód:
http://www.phpbb.com/community/viewtopic.php?f=70&t=543797
Letöltés: http://home.twin.at/wolfgang/thankspostmod.zip
Leirás alapján nem tudtam összehozni.
http://www.phpbb.com/community/viewtopic.php?f=70&t=543797
Letöltés: http://home.twin.at/wolfgang/thankspostmod.zip
Leirás alapján nem tudtam összehozni.
Nálam nem müködik. Most sorba veszem,hogy miket csináltam,hátha tudtok így segiteni.
a thanks.php a forum gyökér könyvtárába került. A 2 kép a forum/styles/fisubsilver2/imageset/ könyvtárába került,mivel fisubsilver sablont használok alapértelmezetként. Aztán vannak itt olyan fájlok,mint pl subsilver2.xml, modx.prosilver.en.xsl. Nem tudom,hogy kell e valamit velük csinálni.
A languages/hu/common.php(mivel magyar nyelvet használ mindenki), és a viewtopic.php-ban elvégeztem a modosítást.
Az adatbázisban sikeresen bevitte az adatokat.
A kérdésem az volna,hogy hol szúrtam el?
a thanks.php a forum gyökér könyvtárába került. A 2 kép a forum/styles/fisubsilver2/imageset/ könyvtárába került,mivel fisubsilver sablont használok alapértelmezetként. Aztán vannak itt olyan fájlok,mint pl subsilver2.xml, modx.prosilver.en.xsl. Nem tudom,hogy kell e valamit velük csinálni.
A languages/hu/common.php(mivel magyar nyelvet használ mindenki), és a viewtopic.php-ban elvégeztem a modosítást.
Az adatbázisban sikeresen bevitte az adatokat.
A kérdésem az volna,hogy hol szúrtam el?
Elképzelhető az is, hogy még nem alkalmazható a gold verzióra...
A telepítési útmutató alapján minden módosítást/másolást elvégeztem de sajnos nem jelenítődik vagy néha hibát jelez a thanks.php 150-ik sorában. Egyébként mások is probálták felrakni, de sikertelenül.
Ötlet vagy javaslat?
Ötlet vagy javaslat?
oO_Oo írta:
A telepítési útmutató alapján minden módosítást/másolást elvégeztem de sajnos nem jelenítődik vagy néha hibát jelez a thanks.php 150-ik sorában. Egyébként mások is probálták felrakni, de sikertelenül.
Ötlet vagy javaslat?
Ha lesz időm,akkor én is újra végig szaladok a dolgokon. Addig is érdemes visszaolvasni,hátha segít az.
1. Létrehoztam a thanks táblát myadminban
2. Rootba bemásoltam a thanks.php-t
3. Bemásoltam a 2 képet(removethanks.gif, thankposts.gif) az egyedi témám imageset és theme/images mappájába
4. languages/hu/common.php található php fájlba beleraktam a plussz parancsokat
5. Rootban megnyitottam a viewtopic.php-t, majd leírás szerint ez egyik sort leírt sor után a másikat pedig elé illesztettem be
Ezek után bevillant egy pillanatra egy hibaüzi de töbet nem, mellette nem jelenítdik meg a kívánt mod.
Hol rontottam el?
2. Rootba bemásoltam a thanks.php-t
3. Bemásoltam a 2 képet(removethanks.gif, thankposts.gif) az egyedi témám imageset és theme/images mappájába
4. languages/hu/common.php található php fájlba beleraktam a plussz parancsokat
5. Rootban megnyitottam a viewtopic.php-t, majd leírás szerint ez egyik sort leírt sor után a másikat pedig elé illesztettem be
Ezek után bevillant egy pillanatra egy hibaüzi de töbet nem, mellette nem jelenítdik meg a kívánt mod.
Hol rontottam el?
modosítottátók esztis ?
styles/prosilver/template/viewtopic_body.html
styles/prosilver/template/viewtopic_body.html
Nem ezt nem modosítottam, mert nem olvastam a leírásban.
Mit módosítsak, hogy működjön?
És még valami egy "saját" téma van fenn. (nem a 2 telepített alap sablon)
Mit módosítsak, hogy működjön?
És még valami egy "saját" téma van fenn. (nem a 2 telepített alap sablon)
Szerintem nem lessz gond hogy nem az alap sablont használod.
Files to Edit
styles/prosilver/template/viewtopic_body.html
Find
Add after
Find
Add before
szerintem probáljátokmeg eszt a thanks.php
Én úgy csináltam hogy bementem a phpMyAdmin-ba lement az sql parancs ,majd megnyitóttam a phpbb_users táblát és töröltem ezeket
user_thanked
user_thanked_others
és útána lefuttattam eszt
nálam igy müködik.
Files to Edit
styles/prosilver/template/viewtopic_body.html
Find
Kód:
<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
Add after
Kód:
<dd><strong>{L_GIVEN}:</strong> {postrow.POSTER_GIVE_COUNT} {L_THANKS}</dd>
<dd><strong>{L_RECEIVED}:</strong> {postrow.POSTER_RECEIVE_COUNT} {L_THANKS}</dd>
Find
Kód:
<!-- END postrow -->
Add before
Kód:
<!-- IF not S_USER_LOGGED_IN and not postrow.THANKS -->
<!-- ELSEIF postrow.S_IS_OWN_POST and not postrow.THANKS -->
<!-- ELSE -->
<div class="post bg3">
<div class="inner"><span class="corners-top"><span></span></span>
<dl class="postbody">
<dd>
<!-- IF postrow.THANKS -->
{postrow.THANK_TEXT}{postrow.POST_AUTHOR_FULL}{postrow.THANKS_GENDER}:<br /> {postrow.THANKS}
<!-- ENDIF -->
</dd>
</dl>
<dl>
<dt style="text-align: center">
<!-- IF S_USER_LOGGED_IN and not postrow.S_IS_OWN_POST and not S_IS_BOT -->
<a href="{postrow.THANKS_LINK}"><img src="{T_IMAGESET_PATH}{postrow.THANKS_IMG}" alt="{postrow.THANK_ALT}{postrow.POST_AUTHOR}{postrow.THANK_ALT2}" /></a>
<!-- ENDIF -->
</dt>
</dl>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr class="divider" />
<!-- ENDIF -->
szerintem probáljátokmeg eszt a thanks.php
Kód:
<?php
/**
*
* @package phpBB3
* @version $Id: thanks.php,v 0.2.0 2007/04/21 23:56:31 geoffreak Exp $
* @copyright (c) 2007 Geoffreak
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
define('THANKS_TABLE', $table_prefix . 'thanks');
// create an array of all users
$sql = 'SELECT *
FROM ' . USERS_TABLE;
$result = $db->sql_query($sql);
$users = array();
while ($row = $db->sql_fetchrow($result))
{
if ((!isset($row['user_thanked']) || !isset($row['user_thanked_others'])) && $user->data['user_type'] == USER_FOUNDER)
{
install_040();
}
$users[$row['user_id']] = array(
'username' => $row['username'],
'user_id' => $row['user_id'],
'user_colour' => $row['user_colour'],
'user_gender' => (isset($row['user_gender'])) ? $row['user_gender'] : false,
'thanks_give' => (isset($row['user_thanked_others'])) ? $row['user_thanked_others'] : 0,
'thanks_receive' => (isset($row['user_thanked'])) ? $row['user_thanked'] : 0,
);
}
$db->sql_freeresult($result);
// Do stuff based on header variables
// Two variables are needed to avoid accidental refresh errors
if (isset($_REQUEST['thanks']) && !isset($_REQUEST['rthanks']))
{
insert_thanks(request_var('thanks', 0), $user->data['user_id']);
}
if (isset($_REQUEST['rthanks']) && !isset($_REQUEST['thanks']))
{
delete_thanks(request_var('rthanks', 0), $user->data['user_id']);
}
// create an array of all thanks info
$sql = 'SELECT *
FROM ' . THANKS_TABLE;
$result = $db->sql_query($sql);
$thankers = array();
$i = 0;
while ($row = $db->sql_fetchrow($result))
{
$thankers[$i] = array(
'user_id' => $row['user_id'],
'post_id' => $row['post_id'],
);
$i++;
}
$db->sql_freeresult($result);
function install_040()
{
global $db, $user;
$sql = 'SELECT *
FROM ' . POSTS_TABLE;
$result = $db->sql_query($sql);
$posts_arr = array();
while ($row = $db->sql_fetchrow($result))
{
$posts_arr[$row['poster_id']][] = $row['post_id'];
}
$db->sql_freeresult($result);
$sql = 'SELECT *
FROM ' . USERS_TABLE;
$result = $db->sql_query($sql);
$users_thanked = array();
$users_thanked_others = array();
while ($row = $db->sql_fetchrow($result))
{
$users_thanked[$row['user_id']] = 0;
$users_thanked_others[$row['user_id']] = 0;
}
$db->sql_freeresult($result);
$sql = 'ALTER TABLE `' . USERS_TABLE . '` ADD `user_thanked` INT NOT NULL ;';
$db->sql_query($sql);
$sql = 'ALTER TABLE `' . USERS_TABLE . '` ADD `user_thanked_others` INT NOT NULL ;';
$db->sql_query($sql);
foreach ($users_thanked as $this_user_id => $thanks_count)
{
if (isset($posts_arr[$this_user_id]) && is_array($posts_arr[$this_user_id]))
{
foreach ($posts_arr[$this_user_id] as $key2 => $this_post_id)
{
foreach ($thankers as $key => $values)
{
if ($values['post_id'] == $this_post_id)
{
$users_thanked[$this_user_id]++;
}
}
}
}
foreach ($thankers as $key => $values)
{
if ($values['user_id'] == $this_user_id)
{
$users_thanked_others[$this_user_id]++;
}
}
$sql = 'UPDATE ' . USERS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array(
'user_thanked' => $users_thanked[$this_user_id],
'user_thanked_others' => $users_thanked_others[$this_user_id],
)) . " WHERE user_id = $this_user_id";
$db->sql_query($sql);
}
$sql2 = 'INSERT INTO ' . CONFIG_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'config_name' => 'thanks_version',
'config_value' => '0.4.0',
));
$db->sql_query($sql2);
trigger_error($user->lang['TP_040_UPGRADED']);
}
// Output thanks list
function get_thanks($post_id)
{
global $db, $users, $poster_id, $thankers;
$return = '';
$user_list = array();
foreach($thankers as $key => $value)
{
if ($thankers[$key]['post_id'] == $post_id && $thankers[$key]['user_id'] != $poster_id)
{
$user_list[ strtolower( $users[$thankers[$key]['user_id']]['username'] ) ] = array(
'username' => $users[$thankers[$key]['user_id']]['username'],
'user_id' => $users[$thankers[$key]['user_id']]['user_id'],
'user_colour' => $users[$thankers[$key]['user_id']]['user_colour'],
);
}
}
ksort($user_list);
$i = 0;
foreach($user_list as $key => $value)
{
if ($i > 0)
{
$return .= ', ';
}
$i++;
$return .= get_username_string('full', $value['user_id'], $value['username'], $value['user_colour'], $value['username']);
}
$return = ($return == '') ? false : $return;
return $return;
}
function get_thanks_number($post_id)
{
global $db, $thankers;
$i = 0;
foreach($thankers as $key => $value)
{
if ($thankers[$key]['post_id'] == $post_id)
{
$i++;
}
}
return $i;
}
// add a user to the thanks list
function insert_thanks($post_id, $user_id)
{
global $db, $users;
if ($user_id != ANONYMOUS)
{
$sql = 'SELECT *
FROM ' . THANKS_TABLE . "
WHERE post_id = $post_id
AND user_id = $user_id
LIMIT 1";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$to_id = request_var('to_id', 0);
if (empty($row) && !empty($to_id))
{
$sql2 = 'INSERT INTO ' . THANKS_TABLE . ' ' . $db->sql_build_array('INSERT', array(
'user_id' => $user_id,
'post_id' => $post_id
));
$db->sql_query($sql2);
$users[$user_id]['thanks_give'] += 1;
$users[$to_id]['thanks_receive'] += 1;
$sql1 = 'UPDATE ' . USERS_TABLE . '
SET user_thanked_others = ' . $users[$user_id]['thanks_give'] . "
WHERE user_id = $user_id";
$sql3 = 'UPDATE ' . USERS_TABLE . '
SET user_thanked = ' . $users[$to_id]['thanks_receive'] . "
WHERE user_id = $to_id";
$db->sql_query($sql1);
$db->sql_query($sql3);
}
}
}
// remove a user's thanks
function delete_thanks($post_id, $user_id)
{
global $db, $user, $users;
if ($user_id != ANONYMOUS)
{
$sql = 'SELECT *
FROM ' . THANKS_TABLE . "
WHERE post_id = $post_id AND user_id = $user_id
LIMIT 1";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$to_id = request_var('to_id', 0);
if (!empty($row) && !empty($to_id))
{
$sql = "DELETE FROM " . THANKS_TABLE . "
WHERE post_id = $post_id AND user_id = " . $user->data['user_id'];
$db->sql_query($sql);
$users[$user_id]['thanks_give'] -= 1;
$users[$to_id]['thanks_receive'] -= 1;
$sql1 = 'UPDATE ' . USERS_TABLE . '
SET user_thanked_others = ' . $users[$user_id]['thanks_give'] . "
WHERE user_id = $user_id";
$sql3 = 'UPDATE ' . USERS_TABLE . '
SET user_thanked = ' . $users[$to_id]['thanks_receive'] . "
WHERE user_id = $to_id";
$db->sql_query($sql1);
$db->sql_query($sql3);
}
}
}
// display the text/image saying either to add or remove thanks
function get_thanks_text($post_id)
{
global $db, $user, $postrow;
if (already_thanked($post_id, $user->data['user_id']))
{
$postrow = array_merge($postrow, array(
'THANK_ALT' => $user->lang['REMOVE_THANKS'],
'THANK_ALT2' => $user->lang['THANK_POST2'],
'THANKS_IMG' => '/removethanks.gif',
));
return;
}
$postrow = array_merge($postrow, array(
'THANK_ALT' => $user->lang['THANK_POST1'],
'THANK_ALT2' => $user->lang['THANK_POST2'],
'THANKS_IMG' => '/thankposts.gif',
));
return;
}
// change the variable sent via the link to avoid odd errors
function get_thanks_link($post_id)
{
global $db, $user;
if (already_thanked($post_id, $user->data['user_id']))
{
return 'rthanks';
}
return 'thanks';
}
// check if the user has already thanked that post
function already_thanked($post_id, $user_id)
{
global $db, $thankers;
$thanked = false;
foreach($thankers as $key => $value)
{
if ($thankers[$key]['post_id'] == $post_id && $thankers[$key]['user_id'] == $user_id)
{
$thanked = true;
}
}
return $thanked;
}
// check gender in applicable
function get_gender($user_id)
{
global $users, $user;
if ($user_id == ANONYMOUS || $users[$user_id]['user_gender'] == false)
{
return $user->lang['THANK_GENDER_U'];
}
else if ($users[$user_id]['user_gender'] == 1)
{
return $user->lang['THANK_GENDER_M'];
}
else if ($users[$user_id]['user_gender'] == 2)
{
return $user->lang['THANK_GENDER_F'];
}
return $user->lang['THANK_GENDER_U'];
}
// gets the number of users that have thanked the poster
function get_user_count($user_id, $receive)
{
global $users;
if ($receive)
{
return $users[$user_id]['thanks_receive'];
}
else
{
return $users[$user_id]['thanks_give'];
}
}
// stuff goes here to avoid over-editing viewtopic.php
function output_thanks($user_id)
{
global $db, $user, $poster_id, $postrow, $row, $phpEx, $topic_data, $phpbb_root_path;
if (!empty($postrow))
{
$forum_id = (isset($forum_id)) ? $forum_id : 0;
$number = get_thanks_number($row['post_id']) . ' ';
$pl_text = $user->lang['THANK_TEXT_2pl'];
if ($number == 1)
{
$pl_text = $user->lang['THANK_TEXT_2'];
$number = '';
}
get_thanks_text($row['post_id']);
$postrow = array_merge($postrow, array(
'THANKS_GENDER' => ' ' . get_gender($user_id),
'THANKS' => get_thanks($row['post_id']),
'THANKS_LINK' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'p=' . $row['post_id'] . (($topic_data['topic_type'] == POST_GLOBAL) ? '&f=' . $forum_id : '') . '&' . get_thanks_link($row['post_id']) . '=' . $row['post_id'] . '&to_id=' . $poster_id) . '#p' . $row['post_id'],
'THANK_TEXT' => $user->lang['THANK_TEXT_1'] . ' ' . $number . $pl_text . ' ',
'POSTER_RECEIVE_COUNT' => get_user_count($poster_id, true),
'POSTER_GIVE_COUNT' => get_user_count($poster_id, false),
'S_IS_OWN_POST' => ($user->data['user_id'] == $poster_id) ? true : false,
));
}
}
?>
Én úgy csináltam hogy bementem a phpMyAdmin-ba lement az sql parancs ,majd megnyitóttam a phpbb_users táblát és töröltem ezeket
user_thanked
user_thanked_others
és útána lefuttattam eszt
Kód:
ALTER TABLE `phpbb_users` ADD `user_thanked` INT NOT NULL DEFAULT '0';
ALTER TABLE `phpbb_users` ADD `user_thanked_others` INT NOT NULL DEFAULT '0';
nálam igy müködik.
Nekem még így se akar müködni.
Na jó. Modosítottam mindent. Lefutattam az adatbázisban. A prefix előtagot átirtam ilyenkor,hogy müködjön. A fájlokat modósítottam. De nem akar így se müködni.
Na jó. Modosítottam mindent. Lefutattam az adatbázisban. A prefix előtagot átirtam ilyenkor,hogy müködjön. A fájlokat modósítottam. De nem akar így se müködni.
Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.