D21-Mass PM Groups 1.0
By: Dean
|
|
||||||||||||||||||||||||||||||||||||||
| March 31 2007, 11:07 AM | |
|---|---|
| by list2006 |
Ну ладно, помогут тут вам Русские программисты
Для тех у кого MySQL 5 (и выше версий) CODE файлы ./sources/action_admind/21masspm.php ./ips_kernel/class_db_mysql.php ./ips_kernel/class_db.php ############################################### 1) открываем 21masspm.php ############################################### ================ находим ================ $this->ipsclass->DB->simple_construct (array('select' => 'm.mgroup_others, m.id, m.name, m.msg_total, m.view_pop, m.email_pm, m.language, m.email, me.vdirs, g.g_max_messages', 'from' => 'members m, '.SQL_PREFIX.'groups g LEFT JOIN '.SQL_PREFIX.'member_extra me ON (m.id=me.id)', 'where' => "lower(m.name) IN (".implode(",", $new_array).") AND m.mgroup=g.g_id")); ================ заменяем ================ //+Мод исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 $this->ipsclass->DB->simple_construct_a (array('select' => 'm.mgroup_others, m.id, m.name, m.msg_total, m.view_pop, m.email_pm, m.language, m.email, me.vdirs, g.g_max_messages', 'from' => SQL_PREFIX.'members m, '.SQL_PREFIX.'groups g ) LEFT JOIN '.SQL_PREFIX.'member_extra me ON (m.id=me.id)', 'where' => "lower(m.name) IN (".implode(",", $new_array).") AND m.mgroup=g.g_id")); //-Мод исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 ############################################### 2) открываем class_db_mysql.php ############################################### ================ находим ================ /*-------------------------------------------------------------------------*/ // SIMPLE: SELECT /*-------------------------------------------------------------------------*/ function simple_select( $get, $table, $where="" ) { $this->cur_query .= "SELECT $get FROM ".$this->obj['sql_tbl_prefix']."$table"; if ( $where != "" ) { $this->cur_query .= " WHERE ".$where; } } ================ Добавляем ниже ================ /*-------------------------------------------------------------------------*/ // для мода D21-Mass PM Groups 1.0 (B1Z0N редактор) /*-------------------------------------------------------------------------*/ //+Мод исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 function simple_select_a( $get, $table, $where="" ) { $this->cur_query .= "SELECT $get FROM ($table"; if ( $where != "" ) { $this->cur_query .= " WHERE ".$where; } } //-Мод исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 ############################################### 3) открываем class_db.php ############################################### ================ находим ================ function simple_construct( $a ) { return $this->build_query( $a ); } ================ Добавляем ниже ================ //+Мод(1) исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 function simple_construct_a( $a ) { return $this->build_query_a( $a ); } //-Мод(1) исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 ================ находим ================ function build_query( $a ) { if ( $a['select'] ) { if ( is_array( $a['add_join'] ) ) { $this->simple_select_with_join( $a['select'], $a['from'], $a['where'], $a['add_join'] ); } else { $this->simple_select( $a['select'], $a['from'], $a['where'] ); } } if ( $a['update'] ) { $this->simple_update( $a['update'], $a['set'], $a['where'], $a['lowpro'] ); } if ( $a['delete'] ) { $this->simple_delete( $a['delete'], $a['where'] ); } if ( $a['order'] ) { $this->simple_order( $a['order'] ); } if ( is_array( $a['limit'] ) ) { $this->simple_limit( $a['limit'][0], $a['limit'][1] ); } } ================ Добавляем ниже ================ //+Мод(2) исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 function build_query_a( $a ) { if ( $a['select'] ) { if ( is_array( $a['add_join'] ) ) { $this->simple_select_with_join( $a['select'], $a['from'], $a['where'], $a['add_join'] ); } else { $this->simple_select_a( $a['select'], $a['from'], $a['where'] ); } } if ( $a['update'] ) { $this->simple_update( $a['update'], $a['set'], $a['where'], $a['lowpro'] ); } if ( $a['delete'] ) { $this->simple_delete( $a['delete'], $a['where'] ); } if ( $a['order'] ) { $this->simple_order( $a['order'] ); } if ( is_array( $a['limit'] ) ) { $this->simple_limit( $a['limit'][0], $a['limit'][1] ); } } //-Мод(2) исправления ошибки MySQL5 в моде D21-Mass PM Groups 1.0 |
| February 10 2007, 02:22 PM | |
| by Timka |
I have tested it on my board and found that it doesn't send messages to users that have changed their display names. Can anybody help? I'll be very pleased. Thx!
|
| February 8 2007, 05:49 PM | |
| by supersmashbrothers |
Under the conditions of MySQL 5, you will get this error:
CODE mySQL query error: SELECT m.mgroup_others, m.id, m.name, m.msg_total, m.view_pop, m.email_pm, m.language, m.email, me.vdirs, g.g_max_messages FROM myas_members m, myas_groups g LEFT JOIN myas_member_extra me ON (m.id=me.id) WHERE lower(m.name) IN (***) AND m.mgroup=g.g_id SQL error: Unknown column 'm.id' in 'on clause' SQL error code: Date: Thursday 08th 2007f February 2 where *** is a series of names. You will be able to download this modification, but you are doing so at your own risk. [This is an automatically generated message] |
| January 15 2007, 08:27 PM | |
| by Hexzar |
ok i havn't exactly asked all my members but this is the problem -
I send a pm to various groups in total it's always less than 40 members so it's like about 32 members i send a pm to. When i sends it, it says "23 pms sent succesfully" and taht's it? Does that mean it skipped 9 members ??? |
| January 4 2007, 06:17 PM | |
| by Paluani |
The mod works with ipb 2.2.1, if I send the pm to a restrict group (admins, for example)
also if I send the pm to all users (23 thousands) I've this error Fatal error: Maximum execution time of 30 seconds exceeded in /home/httpd/vhosts/p3smania.com/httpdocs/forum/sources/action_admin/d21masspm.php on line 578 |
| January 4 2007, 01:07 PM | |
| by list2006 |
This problem will dare?
CODE mySQL query error: SELECT m.mgroup_others, m.id, m.name, m.msg_total, m.view_pop, m.email_pm, m.language, m.email, me.vdirs, g.g_max_messages FROM ibf_members m, ibf_groups g LEFT JOIN ibf_member_extra me ON (m.id=me.id) WHERE lower(m.name) IN ('venom','gargamel','unfit4command','sarge4life','destroyer of gods','mongoose','brick','grave digger','teclis','troy','fs_metal','havok') AND m.mgroup=g.g_id SQL error: Unknown column 'm.id' in 'on clause' SQL error code: I so understand this because of MySQL 5? excuse me for text, I from Russia - write through translator |
| November 19 2006, 07:05 PM | |
| by Nuno Brito |
Still no support for PHP5??
It would be good add a remark on the download topic to alert all users before downloading this mod - I've installed it on my php5 based server and surprisingly enough - it didn't work.. Same error has all other users: QUOTE mySQL query error: SELECT m.mgroup_others, m.id, m.name, m.msg_total, m.view_pop, m.email_pm, m.language, m.email, me.vdirs, g.g_max_messages FROM ibf_members m, ibf_groups g LEFT JOIN ibf_member_extra me ON (m.id=me.id) WHERE lower(m.name) IN (' I've googled for answers and even on Dean's forums there is no support: http://forums.dscripting.com/index.php?showtopic=975 Here's some tips: http://forums.invisionpower.com/index.php?showtopic=197642 But still no go around here, can anyone please help or point a good alternative to mass PM? Thank you!!! |
| November 4 2006, 11:25 PM | |
| by wahba87 |
how to change the sender of the PM ??
|
| October 18 2006, 04:56 PM | |
| by doggydog |
Deleted
|
| October 10 2006, 01:25 PM | |
| by doggydog |
Sorry, i dont mean to be pushy but the guy who also posted this problem has been waiting some time also.
Is there no fix for this? Cheers Dd |