101
wanikoo
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/13 12:07

  • wanikoo

  • Not too shy to talk

  • Posts: 129

  • Since: 2003/12/27


Quote:

francis wrote:
but I don't understand where to put the code you mention. What to insert into notification.php?

Umm...
Quote:

I wrote like this:
I think you can easily solve this trouble by adding some codes to /html/class/xoopsmailer.php.
$pm_handler->setFromdelete($pm)[after $pm_handler->insert($pm)]
^^;;(Not test yet...but..it may work^^)

I mentioned notification.php just to show that auto-notification uses xoopsmailer.php to send PM.
So... you don't have to modify notification.php.
Just Add $pm_handler->setFromdelete($pm); to xoopsmailer.php
like This^^
/html/class/xoopsmailer.php
// private
function sendPM($uid$subject$body)
{
    global 
$xoopsUser;
    
$pm_handler =& xoops_gethandler('privmessage');
    
$pm =& $pm_handler->create();
    
$pm->setVar("subject"$subject);
    
// RMV-NOTIFY
    
$pm->setVar('from_userid', !empty($this->fromUser) ? $this->fromUser->getVar('uid') : $xoopsUser->getVar('uid'));
    
$pm->setVar("msg_text"$body);
    
$pm->setVar("to_userid"$uid);
    if (!
$pm_handler->insert($pm)) {
        return 
false;
    }
//start
    
$pm_handler->setFromdelete($pm);
//end
    
return true;
    }

Umm...
I tested and confirmed it works well this evening.
So..
I think other PMs(sent automatically from other modules)..also will be deleted automatically from OUTBOX/SENTBOX in the same way.
^^
Quote:

For me this is definitely a bug. Why do other users (non-admins) have Automatic Notifications in their SENT-Box? I thought that the admin sent the notifications and not the users?

^^...I also checked what you said above.
but...On my test-server..and public server....It works well..without any trouble.
If user has automatic notification PM in his/her postbox(outbox/sentbox/psavebox),
the reason is simply because that PM has his/her uid as from_userid.
^^
This is part of the criteria of OUTBOX.
Do you think OUTBOX can have PM which has other's uid as from_userid ?

$criteria = new CriteriaCompo(new Criteria('from_userid', $xoopsUser->getVar('uid')));
$criteria->add(new Criteria('read_msg', 0));
$criteria->add(new Criteria('from_delete', 0));
$criteria->add(new Criteria('to_delete', 0));
$criteria->add(new Criteria('from_save', 0));

Anyway...I think this line in xoopsmailer.php may cause PM(sent automatically) to have other' uid besides Admin as from_userid.
$pm->setVar('from_userid', !empty($this->fromUser) ? $this->fromUser->getVar('uid') : $xoopsUser->getVar('uid'));

As you know, it basically decides from_userid like this.(notification.php)

case XOOPS_NOTIFICATION_METHOD_PM:
$xoopsMailer->usePM();
$config_handler =& xoops_gethandler('config');
$xoopsMailerConfig =& $config_handler->getConfigsByCat(XOOPS_CONF_MAILER);
$xoopsMailer->setFromUser($member_handler->getUser($xoopsMailerConfig['fromuid']));
foreach ($tags as $k=>$v) {
$xoopsMailer->assign($k, $v);
}
break;

102
den1662
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/17 2:35

  • den1662

  • Just popping in

  • Posts: 12

  • Since: 2003/8/19


Found other workaround.. superb & simple..

Quote:

$subject = "System Generated Message";
$msg_text = "You have new message from your previous submission. Please click HERE for more detail.";
$to_userid = 1;
$from_userid = $xoopsUser->getVar('uid');
$sql = "INSERT INTO " . XOOPS_DB_PREFIX . "_priv_msgs (msg_image, subject, from_userid, to_userid, msg_time, msg_text) VALUES ('icon1.gif', '$subject', $from_userid, $to_userid, ".time().", '$msg_text')";
$xoopsDB->queryf($sql);


Change your $to_userid & use XOOPS Code for more msg variety.

Reference: queryF

Quote:

den1662 wrote:
This what i have tried 'Module PM' but getting errors:
'Errors None' by getHtmlErrors. Where did i go wrong?

Quote:


include("../../mainfile.php");
include(XOOPS_ROOT_PATH."/header.php");
$xoopsOption['show_rblock'] = 1;

include(XOOPS_ROOT_PATH."/class/xoopsmailer.php");
$myts =& MyTextSanitizer::getInstance();

$pm_handler =& xoops_gethandler('privmessage');
$pm =& $pm_handler->create();
$pm->setVar("subject", "Hello World");
$pm->setVar("msg_text", "Apo kono eh jang!");
$pm->setVar("to_userid", 1);
$pm->setVar("from_userid", 1);
if (!$pm_handler->insert($pm)) {
echo $pm->getHtmlErrors();
}

include(XOOPS_ROOT_PATH."/footer.php");


103
wanikoo
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/17 17:20

  • wanikoo

  • Not too shy to talk

  • Posts: 129

  • Since: 2003/12/27


Upgraded to Ver4.1

<Change>
------Ver4.1-------(2005/1/18)
>>Security Upgraded by equipping this PM Hack with (one-time)Ticket System.( pm_functions.php and others related.)
Notice: Ticket System From ORETEKI XOOPS,Author: Marijuana (http://marijuana.ddo.jp/xoops/ )
I think this must be helpful to prevent CSRF(Cross-Site Request Forgeries)-Attack and etc.
If you want more detailed info about CSRF, Please read this file.(http://www.tux.org/~peterw/csrf.txt )
>>PM System-Policy function/interface upgraded!(configpmsg.php, pmhackconfig.php and others related.)
#PM System-Policy#
=> ON/OFF(or Selection) of each function prepared for PM-users in this PM system.
(12, PM Send -> OFF(0), ON(1) //To disable PM Send Function [No Send,Reply button, No access to pmlite.php ]
Notice : This will prevent users from sending PM via pmlite.php. If you also want to disable GPM(Group PM),Please read [3,GroupPM(GPM) Function] below.
(13, PM Policy(something related with filtering) -> OFF(0), ON(1) //To disable user's PM Policy(something related with filtering).
This will invalidate Filtering,Reject,Blacklist,Post Box Limit,Receive Box Limit.
(14, PM-Group Policy -> OFF(0), ON(1) //To disable PM-Group Policy such as my-PMGroup, G(roup)-PM Limit.
I mean that if you set this OFF(0), users can send G(roup)-PM to any group without any limit.
>>"Show status"(of configpmsg.php) upgraded to show user status of PM Functions
^^Just Click "Show status" and Check it!
>>My mistake fixed^^(Yeah... icon1.gif )
In Ver4.0, I made mistake that I omitted this icon file.( /html/images/pmsubject/icon1.gif )
>>Some functions moved into pm_functions.php.
(This is the first step toward modularization of this PM-Hack.)
-----------------------------
How to upgrade 4.0->4.1
1, No change on PM DB^^No touch^^
2, Open this file(/html/language/{yourlanguage}/pmsg.txt[or pmsg_upgrade3x-41.txt])
Add the upgraded contents( under//WANISYS.NET PM HACK4.1) of pmsg.txt to pmsg.php.
3, Overwrite All files into proper directories!!
[Exception] No change on pmhackconfig.php
- You don't have to overwrite pmhackconfig.php[/html/pmhackconfig.php and /html/cache/pmhackconfig.php])
4, That'a all! Enjoy this new PM system4.1!!

How to install[new install]

1, Open this file(/html/wanipmhack.sql) and execute the sql query on the file^^
( Use phpmyadmin...if you are DB-novice!!Please, watch out table prefix[xoops_])
2, Overwrite All files into proper directories!!
(You must back-up original files...before this hack!!!!)
3, Open this file(/html/language/{yourlanguage}/pmsg.txt[and pmsg_upgrade3x-41.txt if it exists])
Add the contents of pmsg.txt to pmsg.php.
4, Open this file(/html/footer.txt)
Add the wanipmhack section(I mean ////////////////WANIPMHACK3.0) of footer.txt to footer.php.
5, That's all!! Enjoy this new PM system!!

How to uninstall

1, Replace all changed files with your original files.
(html/viewpmsg.php,readpmsg.php,pmlite.php,footer.php)
(html/kernel/privmessage.php)
(html/language/{yourlanguage}/pmsg.php)
2, Delete all new files.
(html/ configpmsg.php, printpmsg.php, backuppmsg.php, pmgrouplite.php, usersearch.php, userkeysearch.php, pmhackconfig.php, overlib_mini.js)
(html/cache/ pmhackconfig.php)
(html/include/ pm_functions.php)
(html/kernel/ privmessageconfig.php, pmuserkey.php)
(html/images/ inbox.gif, readbox.gif, rsavebox.gif, rtrashbox.gif, outbox.gif, sentbox.gif, psavebox.gif, ptrashbox.gif, pmhelp.png)
(html/images/icons/ backuppm.gif, forwardpm.gif, gforwardpm.gif, printpm.gif, pmuserkey.gif, pmcheck.gif)
(html/images/pmsubject/icon1.gif, pm_normal_u.gif, pm_normal.gif, pm_normal_e.gif, pm_re_u.gif, pm_re.gif, pm_re_e.gif, pm_fw_u.gif, pm_fw.gif, pm_fw_e.gif, pm_gpm_u.gif, pm_gpm.gif, pm_gfw_u.gif, pm_gfw.gif)
3, Open this file(/html/wanipmhack_uninstall.sql) and execute the sql query on the file^^
( Use phpmyadmin...if you are DB-novice!!Please, watch out table prefix[xoops_])
4, That's all!! Very simple^^;;

Demo:

http://kjw0815.codns.com/wanisys/japanese/xoops/html/modules/news/

Downloads:
-Stable Version => Ver2.85(default)
http://www.wanisys.net/data/wanipmhack.zip
-Test Version => Ver4.1(+pmconfig+GroupPM+etc)
http://www.wanisys.net/data/wanipmhack41.zip
-DB-toolkit for DB-novice(only for New install/uninstall)
http://www.wanisys.net/data/wanipmhack_dbtoolkit41.zip


2005/1/18

From wani[wani@wanisys.net]

the most educational site, wanisys.net [http://www.wanisys.net ]

104
krobi
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/17 18:14

  • krobi

  • Quite a regular

  • Posts: 290

  • Since: 2003/12/21


hey i have tested your actually version and i'am a little confused

i set the settings to 100 pm's (inbox and outbox) and for administrator there stand 100 but a normal user have 5000 but i settings there stand 100

and when i tell the hack "use old user select methode" it will not save, i set 777 for the pmhack files, so saving should not be a problem

105
wanikoo
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/19 15:35

  • wanikoo

  • Not too shy to talk

  • Posts: 129

  • Since: 2003/12/27


Very sorry for my late reply!
Umm...
Now I'm a little under the weather.
anyway....

Quote:

krobi wrote:
and when i tell the hack "use old user select methode" it will not save, i set 777 for the pmhack files, so saving should not be a problem

^^Very Sorry!
It's my mistake!!
Just Change like this^^! ( 2 ==> 0 )

<< configpmsg.php Line: 592 >>
--before fix--
if ( empty($_POST['pmpartnersearch']) ) { $pmpartnersearch = 2; } else { $pmpartnersearch = intval($_POST['pmpartnersearch']); }
--after fix--
if ( empty($_POST['pmpartnersearch']) ) { $pmpartnersearch = 0; } else { $pmpartnersearch = intval($_POST['pmpartnersearch']); }

Or
please redownload Ver4.1!!
http://www.wanisys.net/data/wanipmhack41.zip

Quote:

krobi wrote:
i set the settings to 100 pm's (inbox and outbox) and for administrator there stand 100 but a normal user have 5000 but i settings there stand 100

Umm..
This function works well on my server! So...I think it's not the problem of this PM hack!
Please read previous pages! I guess it may help you understand functions of this PM hack!

--------------------
PS:
Sooner or later,
I will release Ver 4.2 which enable you to make your PM...PDF and to prevent users from accessing PM-boxes.(viewpmsg.php)
#PDF ==> Using fpdf of newbb2.0 (^^ I already made pdfpmsg.php )
#pmbuddy system ==> I changed my mind!! I will not add this function to this PM-Hack because I notice it just make this PM-hack more complicated!

106
wanikoo
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/20 16:11

  • wanikoo

  • Not too shy to talk

  • Posts: 129

  • Since: 2003/12/27


Upgraded to Ver4.2

<Change>
------Ver4.2-------(2005/1/21)
>>PDF PM function added.(pdfpmsg.php)
Now,you can make your PM PDF easily.
[Notice]
This function uses fpdf of newbb2.0. So it's dependent on the directory,"~/newbb/fpdf/".
but For this function,you don't have to install newbb2.0...because it needs just "~/fpdf" ...not all newbb system.
>>PM System-Policy function/interface upgraded!(configpmsg.php, pmhackconfig.php and others related.)
#PM System-Policy#
=> ON/OFF(or Selection) of each function prepared for PM-users in this PM system.
(9, PM PDF Function -> OFF(0), ON(1) //To disable PM PDF Function [No PDF button,No access to pdfpmsg.php]
(11, PM Post/Receive Box -> OFF(0), ON(1) //To prevent users from accessing PM-boxes(viewpmsg.php) [Exception:Admin]
(#10, PM Buddy Function -> OFF(0), ON(1) -- I will not add this function to this PM-Hack because I notice it just make this PM-hack more complicated!
>>A small bug fixed in configpmsg.php
Thank you^^Krobi
>>A small bug fixed in readpmsg.php
----------------------------------
How to upgrade 4.1->4.2
1, No change on PM DB^^No touch^^
2, Open this file(/html/language/{yourlanguage}/pmsg.txt[or pmsg_upgrade3x-42.txt])
Add the upgraded contents( under//WANISYS.NET PM HACK4.2) of pmsg.txt to pmsg.php.
3, Overwrite All files into proper directories!!
[Exception] No change on pmhackconfig.php
- You don't have to overwrite pmhackconfig.php[/html/pmhackconfig.php and /html/cache/pmhackconfig.php])
[Notice]
- We need /html/modules/newbb/fpdf/ for PM PDF function.(using fpdf of newbb2.0)
but you don't have to install newbb2.0...because it needs just "~/fpdf" ...not all newbb system.
So...
(1)If you have already installed newbb2.0, you don't have to copy it(/html/modules/newbb/fpdf/).
(2)If you're using newbb1.0, Just add ~/fpdf to newbb1.0..(I mean,just copy it)
(3)If you don't have/use newbb, Just make the directory,"/html/modules/newbb/". and Copy it!!
4, That'a all! Enjoy this new PM system4.2!!

How to install[new install]

1, Open this file(/html/wanipmhack.sql) and execute the sql query on the file^^
( Use phpmyadmin...if you are DB-novice!!Please, watch out table prefix[xoops_])
2, Copy/Overwrite All files into proper directories!!
(You must back-up original files...before this hack!!!!)
[Notice]
- We need /html/modules/newbb/fpdf/ for PM PDF function.(using fpdf of newbb2.0)
but you don't have to install newbb2.0...because it needs just "~/fpdf" ...not all newbb system.
So...
(1)If you have already installed newbb2.0, you don't have to copy it(/html/modules/newbb/fpdf/).
(2)If you're using newbb1.0, Just add ~/fpdf to newbb1.0..(I mean,just copy it)
(3)If you don't have/use newbb, Just make the directory,"/html/modules/newbb/". and Copy it!!
3, Open this file(/html/language/{yourlanguage}/pmsg.txt[and pmsg_upgrade3x-42.txt if it exists])
Add the contents of pmsg.txt to pmsg.php.
4, Open this file(/html/footer.txt)
Add the wanipmhack section(I mean ////////////////WANIPMHACK3.0) of footer.txt to footer.php.
5, That's all!! Enjoy this new PM system!!

How to uninstall

1, Replace all changed files with your original files.
(html/viewpmsg.php,readpmsg.php,pmlite.php,footer.php)
(html/kernel/privmessage.php)
(html/language/{yourlanguage}/pmsg.php)
2, Delete all new files.
(html/ configpmsg.php, printpmsg.php, backuppmsg.php, pmgrouplite.php, usersearch.php, userkeysearch.php, pmhackconfig.php, overlib_mini.js, pdfpmsg.php)
(html/cache/ pmhackconfig.php)
(html/include/ pm_functions.php)
(html/kernel/ privmessageconfig.php, pmuserkey.php)
(html/images/ inbox.gif, readbox.gif, rsavebox.gif, rtrashbox.gif, outbox.gif, sentbox.gif, psavebox.gif, ptrashbox.gif, pmhelp.png, xoopspm_slogo.png)
(html/images/icons/ backuppm.gif, forwardpm.gif, gforwardpm.gif, printpm.gif, pmuserkey.gif, pmcheck.gif, pdfpm.gif)
(html/images/pmsubject/icon1.gif, pm_normal_u.gif, pm_normal.gif, pm_normal_e.gif, pm_re_u.gif, pm_re.gif, pm_re_e.gif, pm_fw_u.gif, pm_fw.gif, pm_fw_e.gif, pm_gpm_u.gif, pm_gpm.gif, pm_gfw_u.gif, pm_gfw.gif)
3, Open this file(/html/wanipmhack_uninstall.sql) and execute the sql query on the file^^
( Use phpmyadmin...if you are DB-novice!!Please, watch out table prefix[xoops_])
4, That's all!! Very simple^^;;

Demo:

http://kjw0815.codns.com/wanisys/japanese/xoops/html/modules/news/

Downloads:
-Stable Version => Ver2.85(default)
http://www.wanisys.net/data/wanipmhack.zip
-Test Version => Ver4.2(+pmconfig+GroupPM+etc)
http://www.wanisys.net/data/wanipmhack42.zip
-DB-toolkit for DB-novice(only for New install/uninstall)
http://www.wanisys.net/data/wanipmhack_dbtoolkit42.zip

[Notice]
If you use XOOPS Japanese or Korean Version...and download XOOPS2_mod_newbb_2.0Final at Module Dev Forge(http://dev.xoops.org)

Please fix this files. It has an error!!

/html/modules/newbb/fpdf/language/korean.php
--before fix
class PDF_language extends FPDF
--after fix
class PDF_language extends PDF_Korean
--------------------------------------------
/html/modules/newbb/fpdf/language/japanese.php
--before fix
class PDF_language extends FPDF
--after fix
class PDF_language extends PDF_Japanese

2005/1/21

From wani[wani@wanisys.net]

the most educational site, wanisys.net [http://www.wanisys.net ]

107
wanikoo
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/20 17:45

  • wanikoo

  • Not too shy to talk

  • Posts: 129

  • Since: 2003/12/27


Like me,
If you use XOOPS Japanese version(EUC-JP),
maybe you need to use mb_convert_encoding...because fpdf of newbb2.0 only supports SJIS.
(as you know,extension,php_mbstring needed^^)
In such a case, please use pdfpmsg4japanese.php.
(rename like this : pdfpmsg4japanese.php ==> pdfpmsg.php)

108
monster
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/20 19:16

  • monster

  • Just popping in

  • Posts: 58

  • Since: 2004/12/28


how many updates will you make ?
is this the final version ? say yes

109
wanikoo
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/20 20:35

  • wanikoo

  • Not too shy to talk

  • Posts: 129

  • Since: 2003/12/27


Quote:

monster complaining^^:
how many updates will you make ?

Yeah...really many updates...
I know..Umm....
I know it makes you confused, inconvenient and even mad^^;;
Very sorry--;;
but ...
it's my style....to keep my motivation and desire!
as you know, this PM-hack is GPL....
so if no reaction or resonance...it's difficult to keep this PM-hack rolling on!

Quote:

monster intimidating^^:
is this the final version ? say yes

Umm...
quite similar and close to it^^;;
but...frankly speaking, no final version in this PM-hack!
because...if I find out a new/interesting function, I will keep adding it to this PM-hack^^
Just enjoy!!

110
Anonymous
Re: XOOPS PM(Private Message)-Hack
  • 2005/1/21 8:23

  • Anonymous

  • Posts: 0

  • Since:


What about another update on your hack?

To avoid those nasty scrollbars you get when you read or write a pm use a resizetocontent-script.

I found a nice one, if you are interested I'll post the code.

Login

Who's Online

253 user(s) are online (178 user(s) are browsing Support Forums)


Members: 0


Guests: 253


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Apr 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits