You are not logged in.
- Topics: Active | Unanswered
#26 2010-07-30 10:50:20
- hussam
- Member
- Registered: 2010-06-13
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Does it affect the readme or just the installed php files? if it affects the readme, can you post a upgrade instructions please?
Offline
#27 2010-07-30 10:51:36
- adaur
- Developer
- From: France
- Registered: 2010-01-07
- Posts: 843
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Does it affect the readme or just the installed php files? if it affects the readme, can you post a upgrade instructions please?
Changelog:
- SECURITY ISSUES FIXED ! THIS UPDATE IS VERY IMPORTANT ! (thanks to Visman & Smartys)
- A few bugs fixed (thanks to daris : http://fluxbb.org/forums/viewtopic.php? … 35#p33735)
Instructions to update : replace all your old pms_*.php files by the new ones.
Here : http://fluxbb.org/resources/mods/anothe … s/1.2.2.2/
Last edited by adaur (2010-07-30 10:52:23)
FeatherBB - A simple and lightweight new generation forum system
Based on FluxBB, written in PHP, using Slim Framework for a proper OOP-MVC architecture.
Offline
#28 2010-07-30 12:47:39
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Hi, I use fluxbb version 1.4.1 and I don't get it to work. Is there an easier way to install this mod?
I become errors like:
Error: Unable to fetch user information.
But I guess that won't help you.
edit:
I am use german-language-pack. Could that be the problem?
Last edited by mutsu (2010-07-30 12:48:28)
Offline
#29 2010-07-30 12:50:44
- Franz
- Lead developer
- From: Germany
- Registered: 2008-05-13
- Posts: 6,724
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
I suggest you take a look at the FluxBB Patcher by daris.
And no, language packs have nothing to do with database errors.
Offline
#30 2010-07-30 13:05:35
- adaur
- Developer
- From: France
- Registered: 2010-01-07
- Posts: 843
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
If you do the installation properly, you don't get any errors.
I suggest you to do it again with the original files... Or you can try the FluxBB Patcher, as Franz said.
FeatherBB - A simple and lightweight new generation forum system
Based on FluxBB, written in PHP, using Slim Framework for a proper OOP-MVC architecture.
Offline
#31 2010-07-30 13:49:38
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
I've deleted the forumfiles and upped then again. Still don't get it. And yeah I've tried the patcher too. Any Ideas?
edit://
Also I've tried the pm-version in the patcher.
Last edited by mutsu (2010-07-30 13:50:06)
Offline
#32 2010-07-30 13:57:18
- adaur
- Developer
- From: France
- Registered: 2010-01-07
- Posts: 843
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
edit://
Also I've tried the pm-version in the patcher.
This mod is not approved, so I don't recommend to use it.
It is impossible to get any errors if you do the install_mod.php first, in a new database, and do the steps by hand slowly
FeatherBB - A simple and lightweight new generation forum system
Based on FluxBB, written in PHP, using Slim Framework for a proper OOP-MVC architecture.
Offline
#33 2010-07-30 13:59:50
- Franz
- Lead developer
- From: Germany
- Registered: 2008-05-13
- Posts: 6,724
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Oh, it never is impossible to get errors
However, this really sounds like you edited the files first before you were going to try and run install_mod.php. That would explain the error, I think (did it mention any file names?)
Offline
#34 2010-07-30 14:10:38
- adaur
- Developer
- From: France
- Registered: 2010-01-07
- Posts: 843
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Well, never impossible yes.
But if you follow the steps, there is no reason
FeatherBB - A simple and lightweight new generation forum system
Based on FluxBB, written in PHP, using Slim Framework for a proper OOP-MVC architecture.
Offline
#35 2010-07-30 14:41:06
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
I really don't know why it didn't work.
I did everything exactly step by step as you can read it in the readme.
And again, it can't find the usergroups.
The error shows no specific files, where it could be occured.
It just won't work. Could someone help me somehow, please?
Offline
#36 2010-07-30 14:48:34
- Franz
- Lead developer
- From: Germany
- Registered: 2008-05-13
- Posts: 6,724
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Then please do us a favor and add the following lines (temporarily!!!) to your config.php
define('PUN_DEBUG', 1);
define('PUN_SHOW_QUERIES', 1);
and now paste the error output, please.
Offline
#37 2010-07-30 15:01:38
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
File: ../fbb/install_mod.php
Line: 79
FluxBB reported:
Database reported:
Offline
#39 2010-07-30 15:26:48
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
MySQL 5.1.45 at domaingo.de
Last edited by mutsu (2010-07-30 15:28:47)
Offline
#40 2010-07-30 15:28:18
- Franz
- Lead developer
- From: Germany
- Registered: 2008-05-13
- Posts: 6,724
- Website
Offline
#41 2010-07-30 15:29:10
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Thank you Franz.
Does anyone (who can help me, maybe Franz?) have ICQ or skype? It's faster that way and I'm not that good in coding.
Offline
#42 2010-07-30 15:32:16
- Franz
- Lead developer
- From: Germany
- Registered: 2008-05-13
- Posts: 6,724
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
I do, but I don't have the time.
Well, for one, somebody has to add the language file to install_mod.php
And besides that, can you check your database whether the table <prefix>_messages already exists (using PHPMyAdmin)?
Offline
#43 2010-07-30 15:33:45
- Smartys
- Former Developer
- Registered: 2008-04-27
- Posts: 3,139
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
The switch statement is missing references to the innodb cases for MySQL. install_mod.php should probably be rewritten to use the new dblayer anyway.
Offline
#44 2010-07-30 15:35:35
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
As I said I have no idea how to do that. I'm really sorry but all the time my buddy helped me (about icq we've talked and he tried all the time, because I don't know what to do) and now he is kind of frustrated and gone and won't help me anylonger.
Offline
#45 2010-07-30 15:36:50
- Franz
- Lead developer
- From: Germany
- Registered: 2008-05-13
- Posts: 6,724
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Try this install_mod.php then, as Smartys is right:
<?php
/***********************************************************************/
// This install_mod is VERY dirty, I have to clean it for a next version!
// Some info about your mod.
$mod_title = 'Another Private Messaging System';
$mod_version = '1.2.2.2';
$release_date = '2010-07-30';
$author = 'adaur ; Vincent Garnier ; original Private Messaging System 1.2.x version by Connorhd and original Private Messaging System 1.1.x version by David \'Chacmool\' Djurbäck';
$author_email = 'adaur.underground@gmail.com';
// Versions of FluxBB this mod was created for. A warning will be displayed, if versions do not match
$fluxbb_versions= array('1.4.0');
// Set this to false if you haven't implemented the restore function (see below)
$mod_restore = true;
// This following function will be called when the user presses the "Install" button
function install()
{
global $lang, $db, $db_type;
switch ($db_type)
{
case 'mysql':
case 'mysqli':
case 'mysql_innodb':
case 'mysqli_innodb':
$sql = 'CREATE TABLE '.$db->prefix."messages (
id INT(10) NOT NULL AUTO_INCREMENT,
owner int(10) NOT NULL DEFAULT 0,
subject VARCHAR(255) NOT NULL DEFAULT '',
message TEXT NOT NULL DEFAULT '',
sender VARCHAR(200) NOT NULL DEFAULT '',
sender_id INT(10) NOT NULL DEFAULT 0,
posted INT(10) NOT NULL DEFAULT 0,
sender_ip VARCHAR(15),
smileys TINYINT(1) DEFAULT 1,
status TINYINT(1) DEFAULT 0,
showed TINYINT(1) DEFAULT 0,
PRIMARY KEY (id)
) TYPE=MyISAM
DEFAULT CHARSET=utf8;";
break;
case 'pgsql':
$sql = 'CREATE TABLE '.$db->prefix."messages (
id serial,
owner INT NOT NULL DEFAULT 0,
subject VARCHAR(255) NOT NULL DEFAULT 0,
message TEXT NOT NULL DEFAULT '',
sender VARCHAR(200) NOT NULL DEFAULT '',
sender_id INT NOT NULL DEFAULT 0,
posted INT NOT NULL DEFAULT 0,
sender_ip VARCHAR(15),
smileys SMALLINT DEFAULT 1,
status SMALLINT DEFAULT 0,
showed SMALLINT DEFAULT 0,
PRIMARY KEY (id)
) ";
break;
case 'sqlite':
$sql = 'CREATE TABLE '.$db->prefix."messages (
id INTEGER,
owner INTEGER NOT NULL DEFAULT 0,
subject VARCHAR(255) NOT NULL DEFAULT 0,
message TEXT NOT NULL DEFAULT '',
sender VARCHAR(200) NOT NULL DEFAULT '',
sender_id INTEGER NOT NULL DEFAULT 0,
posted INTEGER NOT NULL DEFAULT 0,
sender_ip VARCHAR(15),
smileys INTEGER DEFAULT 1,
status INTEGER DEFAULT 0,
showed INTEGER DEFAULT 0,
PRIMARY KEY (id)
) ";
break;
}
$db->query($sql) or error(sprintf($lang['err_2'], $db->prefix.'messages'), __FILE__, __LINE__, $db->error());
$config = array('o_pms_enabled' => '1', 'o_pms_mess_per_page' => '10');
while (list($conf_name, $conf_value) = @each($config))
{
$db->query('INSERT INTO '.$db->prefix."config (conf_name, conf_value) VALUES('$conf_name', $conf_value)") or error(sprintf($lang['err_3'], $db->prefix.'config'), __FILE__, __LINE__, $db->error());
}
switch ($db_type)
{
case 'mysql':
case 'mysqli':
case 'mysql_innodb':
case 'mysqli_innodb':
$sql = 'ALTER TABLE '.$db->prefix.'groups '.
'ADD g_pm TINYINT(1) NOT NULL DEFAULT 1, '.
'ADD g_pm_limit INT NOT NULL DEFAULT 20 ';
break;
case 'pgsql':
$sql = 'ALTER TABLE '.$db->prefix.'groups '.
'ADD g_pm SMALLINT NOT NULL DEFAULT 1, '.
'ADD g_pm_limit INT NOT NULL DEFAULT 20 ';
break;
case 'sqlite':
$sql = 'ALTER TABLE '.$db->prefix.'groups '.
'ADD g_pm INTEGER NOT NULL DEFAULT 1, '.
'ADD g_pm_limit INTEGER NOT NULL DEFAULT 20 ';
break;
}
$db->query($sql) or error(sprintf($lang['err_3'], $db->prefix.'groups'), __FILE__, __LINE__, $db->error());
switch ($db_type)
{
case 'mysql':
case 'mysqli':
case 'mysql_innodb':
case 'mysqli_innodb':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD use_pm TINYINT(1) NOT NULL DEFAULT 1';
break;
case 'pgsql':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD use_pm SMALLINT NOT NULL DEFAULT 1';
break;
case 'sqlite':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD use_pm INTEGER NOT NULL DEFAULT 1';
break;
}
$db->query($sql) or error(sprintf($lang['err_3'], $db->prefix.'users'), __FILE__, __LINE__, $db->error());
# add 'popup_pm' in users
switch ($db_type)
{
case 'mysql':
case 'mysqli':
case 'mysql_innodb':
case 'mysqli_innodb':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD popup_pm TINYINT(1) NOT NULL DEFAULT 1';
break;
case 'pgsql':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD popup_pm SMALLINT NOT NULL DEFAULT 1';
break;
case 'sqlite':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD popup_pm INTEGER NOT NULL DEFAULT 1';
break;
}
$db->query($sql) or error(sprintf($lang['err_3'], $db->prefix.'users'), __FILE__, __LINE__, $db->error());
$config = array('o_pms_popup' => '0', 'o_pms_max_receiver' => '5', 'o_pms_notification' => '1');
while (list($conf_name, $conf_value) = @each($config))
{
$db->query('INSERT INTO '.$db->prefix."config (conf_name, conf_value) VALUES('$conf_name', $conf_value)") or error(sprintf($lang['err_3'], $db->prefix.'config'), __FILE__, __LINE__, $db->error());
}
# add contacts table
switch ($db_type)
{
case 'mysql':
case 'mysqli':
case 'mysql_innodb':
case 'mysqli_innodb':
$sql = 'CREATE TABLE '.$db->prefix."contacts (
id INT(10) NOT NULL AUTO_INCREMENT,
user_id INT(10) NOT NULL DEFAULT 0,
contact_id INT(10) NOT NULL DEFAULT 0,
contact_name VARCHAR(200) NOT NULL DEFAULT '',
allow_msg TINYINT(1) NOT NULL DEFAULT 1,
PRIMARY KEY (id)
) TYPE=MyISAM
DEFAULT CHARSET=utf8;";
break;
case 'pgsql':
$sql = 'CREATE TABLE '.$db->prefix."contacts (
id serial,
user_id INT(10) NOT NULL DEFAULT 0,
contact_id INT(10) NOT NULL DEFAULT 0,
contact_name VARCHAR(200) NOT NULL DEFAULT '',
allow_msg SMALLINT NOT NULL DEFAULT 1,
PRIMARY KEY (id)
) ";
break;
case 'sqlite':
$sql = 'CREATE TABLE '.$db->prefix."contacts (
id INTEGER,
user_id INTEGER NOT NULL DEFAULT 0,
contact_id INTEGER NOT NULL DEFAULT 0,
contact_name VARCHAR(200) NOT NULL DEFAULT '',
allow_msg INTEGER NOT NULL DEFAULT 1,
PRIMARY KEY (id)
) ";
break;
}
$db->query($sql) or error(sprintf($lang['err_2'], $db->prefix.'contacts'), __FILE__, __LINE__, $db->error());
# add 'notify_pm' in users
switch ($db_type)
{
case 'mysql':
case 'mysqli':
case 'mysql_innodb':
case 'mysqli_innodb':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD notify_pm TINYINT(1) NOT NULL DEFAULT 1';
break;
case 'pgsql':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD notify_pm SMALLINT NOT NULL DEFAULT 1';
break;
case 'sqlite':
$sql = 'ALTER TABLE '.$db->prefix.'users '.
'ADD notify_pm INTEGER NOT NULL DEFAULT 1';
break;
}
$db->query($sql) or error(sprintf($lang['err_3'], $db->prefix.'users'), __FILE__, __LINE__, $db->error());
// delete everything in the cache since we messed with some stuff
$d = dir(PUN_ROOT.'cache');
while (($entry = $d->read()) !== false)
{
if (substr($entry, strlen($entry)-4) == '.php')
@unlink(PUN_ROOT.'cache/'.$entry);
}
$d->close();
}
// This following function will be called when the user presses the "Restore" button (only if $mod_restore is true (see above))
function restore()
{
global $db, $db_type, $pun_config;
$errors = array();
if (!$db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name = \'o_pms_enabled\' LIMIT 1;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'config => o_pms_enabled');
if (!$db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name = \'o_pms_mess_per_page\' LIMIT 1;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'config => o_pms_mess_per_page');
if (!$db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name = \'o_pms_max_receiver\' LIMIT 1;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'config => o_pms_max_receiver');
if (!$db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name = \'o_pms_notification\' LIMIT 1;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'config => o_pms_notification');
if (!$db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name = \'o_pms_popup\' LIMIT 1;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'config => o_pms_popup');
if (!$db->query('ALTER TABLE '.$db->prefix.'groups DROP g_pm, DROP g_pm_limit ;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'groups => g_pm / '.$db->prefix.'groups => g_pm_limit');
if (!$db->query('ALTER TABLE '.$db->prefix.'users DROP notify_pm ;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'users => notify_pm');
if (!$db->query('ALTER TABLE '.$db->prefix.'users DROP use_pm ;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'users => use_pm');
if (!$db->query('ALTER TABLE '.$db->prefix.'users DROP popup_pm ;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'users => popup_pm');
if (!$db->query('DROP TABLE '.$db->prefix.'messages ;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'messages');
if (!$db->query('DROP TABLE '.$db->prefix.'contacts ;'))
$errors[] = sprintf($lang['err_5'], $db->prefix.'contacts');
// delete everything in the cache since we messed with some stuff
$d = dir(PUN_ROOT.'cache');
while (($entry = $d->read()) !== false)
{
if (substr($entry, strlen($entry)-4) == '.php')
@unlink(PUN_ROOT.'cache/'.$entry);
}
$d->close();
if (!empty($errors))
error('<ul><li>'.implode('</li><li>',$errors).'</li></ul>', '', '');
}
/***********************************************************************/
// DO NOT EDIT ANYTHING BELOW THIS LINE!
// Circumvent maintenance mode
define('PUN_TURN_OFF_MAINT', 1);
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
// We want the complete error message if the script fails
if (!defined('PUN_DEBUG'))
define('PUN_DEBUG', 1);
// Make sure we are running a FluxBB version that this mod works with
$version_warning = !in_array($pun_config['o_cur_version'], $fluxbb_versions);
$style = (isset($pun_user)) ? $pun_user['style'] : $pun_config['o_default_style'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo pun_htmlspecialchars($mod_title) ?> installation</title>
<link rel="stylesheet" type="text/css" href="style/<?php echo $style.'.css' ?>" />
</head>
<body>
<div id="punwrap">
<div id="puninstall" class="pun" style="margin: 10% 20% auto 20%">
<?php
if (isset($_POST['form_sent']))
{
if (isset($_POST['install']))
{
// Run the install function (defined above)
install();
?>
<div class="block">
<h2><span>Installation successful</span></h2>
<div class="box">
<div class="inbox">
<p>Your database has been successfully prepared for <?php echo pun_htmlspecialchars($mod_title) ?>. See readme.txt for further instructions.</p>
</div>
</div>
</div>
<?php
}
else
{
// Run the restore function (defined above)
restore();
?>
<div class="block">
<h2><span>Restore successful</span></h2>
<div class="box">
<div class="inbox">
<p>Your database has been successfully restored.</p>
</div>
</div>
</div>
<?php
}
}
else
{
?>
<div class="blockform">
<h2><span>Mod installation</span></h2>
<div class="box">
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?foo=bar">
<div><input type="hidden" name="form_sent" value="1" /></div>
<div class="inform">
<p>This script will update your database to work with the following modification:</p>
<p><strong>Mod title:</strong> <?php echo pun_htmlspecialchars($mod_title.' '.$mod_version) ?></p>
<p><strong>Author:</strong> <?php echo pun_htmlspecialchars($author) ?> (<a href="mailto:<?php echo pun_htmlspecialchars($author_email) ?>"><?php echo pun_htmlspecialchars($author_email) ?></a>)</p>
<p><strong>Disclaimer:</strong> Mods are not officially supported by FluxBB. Mods generally can't be uninstalled without running SQL queries manually against the database. Make backups of all data you deem necessary before installing.</p>
<?php if ($mod_restore): ?>
<p>If you've previously installed this mod and would like to uninstall it, you can click the Restore button below to restore the database.</p>
<?php endif; ?>
<?php if ($version_warning): ?>
<p style="color: #a00"><strong>Warning:</strong> The mod you are about to install was not made specifically to support your current version of FluxBB (<?php echo $pun_config['o_cur_version']; ?>). This mod supports FluxBB versions: <?php echo pun_htmlspecialchars(implode(', ', $fluxbb_versions)); ?>. If you are uncertain about installing the mod due to this potential version conflict, contact the mod author.</p>
<?php endif; ?>
</div>
<p class="buttons"><input type="submit" name="install" value="Install" /><?php if ($mod_restore): ?><input type="submit" name="restore" value="Restore" /><?php endif; ?></p>
</form>
</div>
</div>
<?php
}
?>
</div>
</div>
</body>
</html>
Offline
#46 2010-07-30 15:38:43
- Reines
- Administrator
- From: Scotland
- Registered: 2008-05-11
- Posts: 3,197
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Shouldn't it be using the new $db->create_table() stuff anyway?
Offline
#47 2010-07-30 15:40:04
- Franz
- Lead developer
- From: Germany
- Registered: 2008-05-13
- Posts: 6,724
- Website
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Yes, it should. But I think the author asked for approval anyway as he didn't have to make these changes yet.
That change was planned for the future, though, I believe.
Offline
#48 2010-07-30 15:45:20
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
Can't somebody contact me pls via icq: 575-368-170
I'm really a beginner in this and I'm sorry.
Offline
#50 2010-07-30 15:57:06
- mutsu
- Member
- Registered: 2010-07-30
- Posts: 41
Re: [Mod] Another Private Messaging / Topic System - 3.0.8
I don't know what to do, because my friend is gone. He did all the stuff you told me to do. Without him I'm like a french in japan who tried to make a complex discussion. It's not possible.
Same for me. I haven't try the file from above, because I don't know how.
Offline