Move message Mod

Sem môžete pridávať rozne odkazy a kódy užitočných modifikácií

Moderátor: Moderátori

Move message Mod

Poslaťod Leachim » Ned Feb 04, 2007 10:39 am

Kód: Vybrať všetko
##############################################################
## MOD Title: Move Message Mod
## MOD Author: Leuchte < mail@leuchte.net > http://www.leuchte.net
## MOD Description: This Mod displays a Message, when a Topic are moved, splitted, locked or unlocked.
## MOD Version: 3.0.3
## Installation Level: Easy
## Installation Time: < 10 Minutes
## Files To Edit: 5
##                  language/lang_english/lang_main.php
##                    modcp.php
##                  viewtopic.php
##                  includes/constants.php
##                  templates/subSilver/viewtopic_body.tpl
##
## Included Files: 1
##############################################################
## For Security Purposes, Please Check: http://www.leuchte.net/mods/ for the
## latest version of this MOD.
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
## MOD History:
##
##   2005-11-22 - Delete unused Query
##   2005-03-01 - Reduce SQL-Query and give Mini Post Icon some quote signs
##   2004-09-23 - Fix, if not the latest action will shown
##   2004-09-01 - New Code and expanded for Unlock-Message
##   2004-08-14 - Expanded for Split-Message and Lock-Message
##   2004-08-13 - Fixed MySQL4 Error
##   2004-08-12 - Initial Release
##
##############################################################
#
#-----[ SQL ]------------------------------------------
# Or run the included db_update.php
CREATE TABLE phpbb_topic_moved (
  moved_id mediumint(8) unsigned NOT NULL auto_increment,
  moved_topic_id mediumint(8) unsigned NOT NULL default '0',
  moved_oldtopic_id mediumint(8) unsigned default '0',
  moved_type varchar(8) NOT NULL default '0',
  moved_parent mediumint(8) unsigned default '0',
  moved_target mediumint(8) unsigned default '0',
  moved_mod mediumint(8) NOT NULL default '0',
  moved_time int(11) NOT NULL default '0',
  last_post_id mediumint(8) unsigned NOT NULL default '0',
  PRIMARY KEY  (moved_id)
) TYPE=MyISAM;
ALTER TABLE phpbb_posts ADD post_move TINYINT(1) DEFAULT 0 NOT NULL;

#
#-----[ COPY ]------------------------------------------
#
move_message_mod.php TO ./move_message_mod.php

#
#-----[ OPEN ]------------------------------------------
#
language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------
#
//
// That's all Folks!

#
#-----[ BEFORE, ADD ]------------------------------------------
#
// M-M-M
$lang['Move_move_message'] = 'Moved: <b>%s</b> by <b>%s</b><br>From <b>%s</b> to <b>%s</b>';
$lang['Move_lock_message'] = 'Locked: <b>%s</b> by <b>%s</b>';
$lang['Move_unlock_message'] = 'Unlocked: <b>%s</b> by <b>%s</b>';
$lang['Move_split_message'] = 'Splitted: <b>%s</b> by <b>%s</b><br>From Topic <b>%s</b> (<b>%s</b>)';

#
#-----[ OPEN ]------------------------------------------
#
modcp.php

#
#-----[ FIND ]------------------------------------------
#
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);

#
#-----[ AFTER, ADD ]------------------------------------------
#
include($phpbb_root_path . 'move_message_mod.'.$phpEx);

#
#-----[ FIND ]------------------------------------------
#
$post_id_sql .= ( ( $post_id_sql != '' ) ? ', ' : '' ) . intval($row['post_id']);

#
#-----[ AFTER, ADD ]------------------------------------------
#
delete_topic($topic_id_sql);

#
#-----[ FIND ]------------------------------------------
#
         message_die(GENERAL_ERROR, 'Could not insert shadow topic', '', __LINE__, __FILE__, $sql);
      }
   }

#
#-----[ AFTER, ADD ]------------------------------------------
#
move_message_mod($row[$i]['topic_id'], '', 'move', $old_forum_id, $new_forum_id, $userdata['user_id']);

#
#-----[ FIND ]------------------------------------------
#
      }

      $sql = "UPDATE " . TOPICS_TABLE . "
         SET topic_status = " . TOPIC_LOCKED . "

#
#-----[ BEFORE, ADD ]------------------------------------------
#
      move_message_mod($topics[$i], '', 'lock', '', '', $userdata['user_id']);

#
#-----[ FIND ]------------------------------------------
#
      }

      $sql = "UPDATE " . TOPICS_TABLE . "
         SET topic_status = " . TOPIC_UNLOCKED . "

#
#-----[ BEFORE, ADD ]------------------------------------------
#
      move_message_mod($topics[$i], '', 'unlock', '', '', $userdata['user_id']);

#
#-----[ FIND ]------------------------------------------
#
      $new_topic_id = $db->sql_nextid();

#
#-----[ AFTER, ADD ]------------------------------------------
#
      move_message_mod($new_topic_id, $topic_id, 'split', $forum_id, '', $userdata['user_id']);

#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
   'DELETE' => $delpost,

   'L_MINI_POST_ALT' => $mini_post_alt,

   'U_MINI_POST' => $mini_post_url,
   'U_POST_ID' => $postrow[$i]['post_id'])
);

#
#-----[ AFTER, ADD ]------------------------------------------
#
  // Move Message
  if($postrow[$i]['post_move'] == 1)
  {
    $sql = "SELECT moved_type
      FROM ". MOVED_TABLE ."
      WHERE last_post_id = '". $postrow[$i]['post_id'] ."'
      ORDER BY moved_id DESC LIMIT 1";
    if(!$result = $db->sql_query($sql))
    {
      message_die(GENERAL_ERROR, 'Could not get moved type', '', __LINE__, __FILE__, $sql);
    }
    $row = $db->sql_fetchrow($result);
    $moved_type = $row['moved_type'];

    if($moved_type == "move")
    {
      $select = "mv.moved_time, mv.last_post_id, f.forum_name AS forumparent, f2.forum_name AS forumtarget, u.username";
      $from = "". MOVED_TABLE ." mv, ". FORUMS_TABLE ." f, ". FORUMS_TABLE ." f2, ". USERS_TABLE ." u ";
      $where = "mv.last_post_id = '". $postrow[$i]['post_id'] ."'
                AND mv.moved_parent = f.forum_id
                AND mv.moved_target = f2.forum_id
                AND mv.moved_mod = u.user_id";
    }
 
    if($moved_type == "split")
    {
      $select = "mv.moved_time, mv.last_post_id, f.forum_name as forumparent, t.topic_title, u.username";
      $from = "". MOVED_TABLE ." mv, ". TOPICS_TABLE ." t, ". FORUMS_TABLE ." f, ". USERS_TABLE ." u ";
      $where = "mv.last_post_id = '". $postrow[$i]['post_id'] ."'
                AND mv.moved_parent = f.forum_id
                AND mv.moved_oldtopic_id = t.topic_id
                AND mv.moved_mod = u.user_id";
    }
 
    if($moved_type == "lock" || $moved_type == "unlock")
    {
      $select = "mv.moved_time, mv.last_post_id,  u.username";
      $from = "". MOVED_TABLE ." mv,  ". USERS_TABLE ." u ";
      $where = "mv.last_post_id = '". $postrow[$i]['post_id'] ."'
                AND mv.moved_mod = u.user_id";
    }
   
    if($moved_type)
    {
      $sql = "SELECT $select
        FROM $from
        WHERE $where
        ORDER BY mv.moved_time DESC LIMIT 1";
      if ( !$result = $db->sql_query($sql) )
      {
        message_die(GENERAL_ERROR, 'Could not get main move information', '', __LINE__, __FILE__, $sql);
      }
      $moved = $db->sql_fetchrow($result);
    }
   
    $mini_icon = $images['icon_minipost'];
    $move_date = create_date($board_config['default_dateformat'], $moved['moved_time'],           $board_config['board_timezone']);
    $mover = $moved['username'];
    $parent_topic = $moved['topic_title'];
    $parent_forum = $moved['forumparent'];
    $target_forum = $moved['forumtarget'];

    if($moved_type == "move")
    {
      $move_message = sprintf($lang['Move_move_message'], $move_date, $mover, $parent_forum, $target_forum);
    }
    if($moved_type == "lock")
    {
      $move_message = sprintf($lang['Move_lock_message'], $move_date, $mover);
    }
    if($moved_type == "unlock")
    {
      $move_message = sprintf($lang['Move_unlock_message'], $move_date, $mover);
    }
    if($moved_type == "split")
    {
      $move_message = sprintf($lang['Move_split_message'], $move_date, $mover, $parent_topic, $parent_forum);
    }

    if($moved['last_post_id'] == $postrow[$i]['post_id'])
    {
      $template->assign_block_vars('postrow.move_message', array(
        'MOVE_MESSAGE' => '<img src="'.$mini_icon.'" border="0" />'.$move_message)
      );
    }
    else
    {
      $template->assign_block_vars('postrow.switch_spacer', array());
    }
  }// Move Message

#
#-----[ OPEN ]------------------------------------------
#
includes/constants.php

#
#-----[ FIND ]------------------------------------------
#
define('TOPICS_TABLE', $table_prefix.'topics');

#
#-----[ AFTER, ADD ]------------------------------------------
#
define('MOVED_TABLE', $table_prefix.'topic_moved');

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/viewtopic_body.tpl

#
#-----[ FIND ]------------------------------------------
#
<tr>
   <td class="spaceRow" colspan="2" height="1"><img src="templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- END postrow -->

#
#-----[ REPLACE, WITH ]------------------------------------------
#
<!-- BEGIN switch_spacer -->
<tr>
   <td class="spaceRow" colspan="2" height="1"><img src="templates/subSilver/images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- END switch_spacer -->
<!-- BEGIN move_message -->
<tr>
        <td class="row3" colspan="2"><span class="postdetails">{postrow.move_message.MOVE_MESSAGE}</span></td>
</tr>
<!-- END move_message -->
<!-- END postrow -->

#
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


Vytvor si v domovskom adresári súbor s názvom move_message_mod.php

A do neho vlož
Kód: Vybrať všetko
<?php
if (!defined('IN_PHPBB'))
{
   die('Hacking attempt');
}

function move_message_mod($moved_topic_id, $moved_oldtopic_id, $type, $moved_parent, $moved_target, $moved_mod)
{
   global $db;

   $time = time();
  if ($type == "split")
  {
    $where = "WHERE topic_id = '$moved_oldtopic_id'";
  }
  else
  {
    $where = "WHERE topic_id = '$moved_topic_id'";
  }
     
  $sql = "SELECT topic_last_post_id
  FROM ". TOPICS_TABLE ."
  $where";
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not get topic_last_post_id', '', __LINE__, __FILE__, $sql);
   }
  $row = $db->sql_fetchrow($result);
   $last_post_id = $row['topic_last_post_id'];
 
   $sql = "INSERT INTO ". MOVED_TABLE ." (moved_topic_id, moved_oldtopic_id, moved_type, moved_parent, moved_target, moved_mod, moved_time, last_post_id)
      VALUES ('$moved_topic_id', '$moved_oldtopic_id', '$type', '$moved_parent', '$moved_target', '$moved_mod', '$time', '$last_post_id')";
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not insert data into moved table', '', __LINE__, __FILE__, $sql);
   }
   
   $sql = "UPDATE ". POSTS_TABLE ."
      SET post_move = '1'
      WHERE post_id = '$last_post_id'";
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not update posts table', '', __LINE__, __FILE__, $sql);
   }
}

function delete_topic($topic_id)
{
global $db;

  $sql = "DELETE FROM ". MOVED_TABLE ."
  WHERE moved_topic_id = '$topic_id'";
  if ( !$result = $db->sql_query($sql) )
  {
   message_die(GENERAL_ERROR, 'Could not delete move message', '', __LINE__, __FILE__, $sql);
  }

}
?>
Michael Watzke - Osobný blog, Bazár PC, notebookov, Tvorba WWW stránok
Nepíšte mi ohľadom phpBB, neodpovedám...
Obrázok užívateľa
Leachim
Expert
Expert
 
Príspevky: 1123
Registrovaný: Sob Jan 27, 2007 2:34 pm

Poslaťod prostenal1 » Ned Feb 04, 2007 10:43 am

Preco nedavas mody zazipované bolo by to jednoduchsie na instalaciu a niaky popis by sa tiez hodil :roll:
prostenal1
Expert
Expert
 
Príspevky: 448
Registrovaný: Ned Feb 04, 2007 8:23 am
Bydlisko: http://warkey.net/

Poslaťod Leachim » Ned Feb 04, 2007 10:45 am

Popis máš v hlavičke módu :roll: A je to takto lepšie, pokiaľ nebude hotové mod centrum, lebo keby to dám na free hoting, alebo niekam na upload server, tak nikdy nevieš, kedy to zmažú.
Michael Watzke - Osobný blog, Bazár PC, notebookov, Tvorba WWW stránok
Nepíšte mi ohľadom phpBB, neodpovedám...
Obrázok užívateľa
Leachim
Expert
Expert
 
Príspevky: 1123
Registrovaný: Sob Jan 27, 2007 2:34 pm

Poslaťod prostenal1 » Ned Feb 04, 2007 10:46 am

Vlastný FTP 100 GB a je to vyriešené :lol:
prostenal1
Expert
Expert
 
Príspevky: 448
Registrovaný: Ned Feb 04, 2007 8:23 am
Bydlisko: http://warkey.net/

Poslaťod Leachim » Ned Feb 04, 2007 10:47 am

na FTP máme neobmedzené miesto. Takže keď bude MOD centrum, tak sa to bude uploadovať na server. Ale zatiaľ to tam nechcem dávať, aby v tom potom nevznikol bordel
Michael Watzke - Osobný blog, Bazár PC, notebookov, Tvorba WWW stránok
Nepíšte mi ohľadom phpBB, neodpovedám...
Obrázok užívateľa
Leachim
Expert
Expert
 
Príspevky: 1123
Registrovaný: Sob Jan 27, 2007 2:34 pm

Poslaťod Retorik » Ned Feb 04, 2007 12:14 pm

Hneď ako som upravil súbor lang_main.php následne vyskúšal fórum po doinštalovaní modifikácie tak mi spadla celá diakritika.Čím to môže byť?
Retorik
Profesionál
Profesionál
 
Príspevky: 329
Registrovaný: Uto Jan 30, 2007 8:13 pm
Bydlisko: Slovakia

Poslaťod Davidko_06 » Ned Feb 04, 2007 12:39 pm

Mne sa presne to iste stalo tiez som nevedel co mam robit a niektori mi pisali inde ze ci som zalohoval databazu ze abi so mto vratil spe obnovil !
Obrázok užívateľa
Davidko_06
Profesionál
Profesionál
 
Príspevky: 258
Registrovaný: Pia Feb 02, 2007 11:53 am
Bydlisko: Partizánske

Poslaťod Retorik » Ned Feb 04, 2007 12:44 pm

Tak nakoľko používam UTF-8 tak som nainštaloval mód normálne a jazyk som nechal anglický a potom som len pozmenil špeciálne znaky za písmena a už je to vyriešené a šlape to. :wink:
Retorik
Profesionál
Profesionál
 
Príspevky: 329
Registrovaný: Uto Jan 30, 2007 8:13 pm
Bydlisko: Slovakia

Poslaťod Davidko_06 » Ned Feb 04, 2007 12:51 pm

No ano ked ti to ide je to dobre a ja uz viem rpeco to robilo lebo ked mas mod a tam je pri instalacii ze musis dat preklad ci uz cesky alebo anglicky tak ten neni UTF-8 vies tak to preto ti hento spravi!!
Obrázok užívateľa
Davidko_06
Profesionál
Profesionál
 
Príspevky: 258
Registrovaný: Pia Feb 02, 2007 11:53 am
Bydlisko: Partizánske

Poslaťod Retorik » Ned Feb 04, 2007 12:57 pm

Ja som si môj súbor sťahoval do PC a prepisoval v PSPad-e a potom to blblo ale už som to opravil tak sa nesťažujem. :wink:
Retorik
Profesionál
Profesionál
 
Príspevky: 329
Registrovaný: Uto Jan 30, 2007 8:13 pm
Bydlisko: Slovakia

Poslaťod Leachim » Ned Feb 04, 2007 3:18 pm

Otvorte si súbor lang main nap v PSPade, stlačte ctrl+a a hore máte kódovanie. Treba ho nakódovať do toho kódovania, aké má mať.
Michael Watzke - Osobný blog, Bazár PC, notebookov, Tvorba WWW stránok
Nepíšte mi ohľadom phpBB, neodpovedám...
Obrázok užívateľa
Leachim
Expert
Expert
 
Príspevky: 1123
Registrovaný: Sob Jan 27, 2007 2:34 pm

Poslaťod Risooo » Štv Mar 01, 2007 6:25 am

ja som to vsetko spravil aj som si to 3 krat prekontroloval ale ked niekdo zamkol alebo presunul tema tak to pod neho nic nenapisalo
Risooo
Návštevník
Návštevník
 
Príspevky: 17
Registrovaný: Str Feb 28, 2007 4:10 pm

Poslaťod Reko5 » Sob Dec 15, 2007 7:15 pm

hh ja zamknem temu a napis : naposledy odomkol Reko5
Obrázok
Reko5
Skúsený
Skúsený
 
Príspevky: 157
Registrovaný: Sob Okt 27, 2007 4:57 pm


Späť na Užitočné modifikácie (phpBB 2)

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia


vladstudio
TOPlist TOPlist

Valid XHTML 1.0 Strict [Valid Atom 1.0]


* Štúrovo ubytovanie *