HomeHelpTrac

source: tags/6.1/group_actions.php @ 10374

Revision 10374, 23.7 KB checked in by Andrey Prikaznov, 3 years ago (diff)
Line 
1<?
2
3/***************************************************************************
4*                            Dolphin Smart Community Builder
5*                              -----------------
6*     begin                : Mon Mar 23 2006
7*     copyright            : (C) 2006 BoonEx Group
8*     website              : http://www.boonex.com/
9* This file is part of Dolphin - Smart Community Builder
10*
11* Dolphin is free software. This work is licensed under a Creative Commons Attribution 3.0 License.
12* http://creativecommons.org/licenses/by/3.0/
13*
14* Dolphin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15* without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16* See the Creative Commons Attribution 3.0 License for more details.
17* You should have received a copy of the Creative Commons Attribution 3.0 License along with Dolphin,
18* see license.txt file; if not, write to marketing@boonex.com
19***************************************************************************/
20
21require_once( 'inc/header.inc.php' );
22require_once( BX_DIRECTORY_PATH_INC . 'design.inc.php' );
23require_once( BX_DIRECTORY_PATH_INC . 'utils.inc.php' );
24require_once( BX_DIRECTORY_PATH_INC . 'images.inc.php' );
25
26require_once( BX_DIRECTORY_PATH_CLASSES . 'BxDolGroups.php' );
27
28$oGroups = new BxDolGroups(false);
29
30// --------------- page variables and login
31
32
33$_page['name_index']    = 76;
34$_page['css_name']      = 'groups.css';
35
36$_page['header']        = _t( "_Group action" );
37$_page['header_text']   = _t( "_Group action" );
38
39
40$logged['member'] = member_auth( 0, true );
41$memberID = (int)$_COOKIE['memberID'];
42$arrMember = getProfileInfo( $memberID );
43
44$action = $_REQUEST['a'];
45$groupID = (int)$_REQUEST['ID'];
46
47if ( !$groupID )
48{
49    Header( "Location: {$site['url']}grp.php" );
50    exit;
51}
52
53$_ni = $_page['name_index'];
54
55if ( $arrGroup = $oGroups->getGroupInfo( $groupID ) )
56{
57    $getBackCode = " (<a href=\"{$site['url']}grp.php?action=group&ID={$groupID}\">"._t('_Back to group', $arrGroup['Name'])."</a>)";
58
59    switch( $action )
60    {
61        case 'upload':
62            if( $oGroups->isGroupMember( $memberID, $groupID ) )
63            {
64                if( $arrGroup['members_post_images'] or $arrGroup['creatorID'] == $memberID )
65                {
66                    if( $_POST['do_submit'] )
67                    {
68                        if( $_FILES['file'] )
69                        {
70                            switch( $_FILES['file']['error'] )
71                            {
72                                case UPLOAD_ERR_NO_FILE:
73                                    $_page['header']        = _t( "_Upload to group gallery error" );
74                                    $_page['header_text']   = _t( "_Upload to group gallery error" );
75                                    $_page_cont[$_ni]['page_main_code'] = MsgBox(_t('_You should specify file'));
76                                break;
77                               
78                                case UPLOAD_ERR_OK:
79                                    $arrImgInfo = getimagesize( $_FILES['file']['tmp_name'] );
80                                    $Ext = '';
81                                   
82                                    switch ($arrImgInfo['mime'])
83                                    {
84                                        case 'image/gif':  $Ext = 'gif'; break;
85                                        case 'image/jpeg': $Ext = 'jpg'; break;
86                                        case 'image/png':  $Ext = 'png'; break;
87                                    }
88                                   
89                                    if ( $Ext )
90                                    {
91                                        $tempImg = tempnam( BX_DIRECTORY_PATH_ROOT . '/tmp', 'Dol_' );
92                                        $tempImg_ = $tempImg.'_';
93                                        $tempImg_icon = $tempImg.'_icon';
94                                        move_uploaded_file( $_FILES['file']['tmp_name'], $tempImg );
95
96                                        imageResize( $tempImg, $tempImg_icon, 45, 45 );
97                                       
98                                        $imgWidth   = $arrImgInfo[0];
99                                        $imgHeight  = $arrImgInfo[1];
100                                        //$imgWidth_  = $arrImgInfo[0];
101                                        //$imgHeight_ = $arrImgInfo[1];
102                                       
103                                        $maxWidth   = (int)getParam( 'group_img_width' ); //600
104                                        $maxHeight  = (int)getParam( 'group_img_height' ); //600
105                                        $maxWidth_  = (int)getParam( 'group_img_tmb_width' ); //600
106                                        $maxHeight_ = (int)getParam( 'group_img_tmb_height' ); //600
107                                       
108                                        if( $imgWidth > $maxWidth or $imgHeight > $maxHeight )
109                                        {
110                                            imageResize( $tempImg, $tempImg, $maxWidth, $maxHeight );
111                                            list( $imgWidth, $imgHeight ) = getimagesize( $tempImg );
112                                        }
113                                       
114                                        if ( $imgWidth > $maxWidth_ or $imgHeight > $maxHeight_ )
115                                        {
116                                            imageResize( $tempImg, $tempImg_, $maxWidth_, $maxHeight_ );
117                                            list( $imgWidth_, $imgHeight_ ) = getimagesize( $tempImg_ );
118                                        }
119                                        else
120                                        {
121                                            copy( $tempImg, $tempImg_ );
122                                            $imgWidth_  = $imgWidth;
123                                            $imgHeight_ = $imgWidth;
124                                        }
125                                       
126                                        $seed = substr( md5( time() ), 0, 10 );
127                                       
128                                        $query = "
129                                            INSERT INTO `GroupsGallery` SET
130                                                `groupID` = $groupID,
131                                                `ext`     = '$Ext',
132                                                `width`   = $imgWidth,
133                                                `height`  = $imgHeight,
134                                                `width_`  = $imgWidth_,
135                                                `height_` = $imgHeight_,
136                                                `by`      = $memberID,
137                                                `seed`    = '$seed'
138                                            ";
139                                       
140                                        db_res( $query );
141                                       
142                                        $imgID = mysql_insert_id($GLOBALS['MySQL']->link);
143                                       
144                                        rename( $tempImg,  $oGroups->sGrpGalPath."{$groupID}_{$imgID}_{$seed}.{$Ext}" );
145                                        rename( $tempImg_, $oGroups->sGrpGalPath."{$groupID}_{$imgID}_{$seed}_.{$Ext}" );
146                                        rename( $tempImg_icon, $oGroups->sGrpGalPath."{$groupID}_{$imgID}_{$seed}_icon.{$Ext}" );
147                                       
148                                        chmod( $oGroups->sGrpGalPath."{$groupID}_{$imgID}_{$seed}.{$Ext}", 0644 );
149                                        chmod( $oGroups->sGrpGalPath."{$groupID}_{$imgID}_{$seed}_.{$Ext}", 0644 );
150                                        chmod( $oGroups->sGrpGalPath."{$groupID}_{$imgID}_{$seed}_icon.{$Ext}", 0644 );
151                                       
152                                        if( $_POST['set_def'] == 'yes' and $arrGroup['creatorID'] == $memberID )
153                                            $oGroups->setGroupThumb( $groupID, $imgID );
154                                       
155                                        //if( $_POST['back'] == 'home' )
156                                            $getBackUrl = "grp.php?action=group&ID={$groupID}";
157                                        //else
158                                        //  $getBackUrl = "grp.php?action=gallery&ID={$groupID}";
159                                       
160                                        $getBackCode = " (<a href=\"{$getBackUrl}\">"._t('_Back to group', $arrGroup['Name'])."</a>)";
161                                       
162                                        $_page['header']        = _t( "_Upload to group gallery" );
163                                        $_page['header_text']   = _t( "_Upload to group gallery" );
164                                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t('_Upload succesfull').$getBackCode);
165                                    }
166                                    else
167                                    {
168                                        $_page['header']        = _t( "_Upload to group gallery error" );
169                                        $_page['header_text']   = _t( "_Upload to group gallery error" );
170                                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t('_You should select correct image file'));
171                                    }
172                                break;
173                                default:
174                                    $_page['header']        = _t( "_Upload to group gallery error" );
175                                    $_page['header_text']   = _t( "_Upload to group gallery error" );
176                                    $_page_cont[$_ni]['page_main_code'] = MsgBox(_t('_Upload error'));
177                            }
178                        }
179                        else
180                        {
181                            $_page['header']        = _t( "_Upload to group gallery error" );
182                            $_page['header_text']   = _t( "_Upload to group gallery error" );
183                            $_page_cont[$_ni]['page_main_code'] = MsgBox(_t('_Upload error'));
184                        }
185                    }
186                    else
187                    {
188                        $_page['header']        = _t( "_Upload to group gallery" );
189                        $_page['header_text']   = _t( "_Upload to group gallery" );
190                       
191                        $_page_cont[$_ni]['page_main_code'] =  _t('_Gallery upload_desc');
192                        $_page_cont[$_ni]['page_main_code'] .= $oGroups->genUploadForm( $groupID );
193                    }
194                }
195                else
196                {
197                    $_page['header']        = _t( "_Upload to group gallery error" );
198                    $_page['header_text']   = _t( "_Upload to group gallery error" );
199                    $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot upload images because members of this group not allowed to upload images" ));
200                }
201            }
202            else
203            {
204                $_page['header']        = _t( "_Upload to group gallery error" );
205                $_page['header_text']   = _t( "_Upload to group gallery error" );
206                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot upload images because you're not group member" ));
207            }
208        break;
209        case 'join':
210            if( $oGroups->isGroupMember( $memberID, $groupID, false ) )
211            {
212                $_page['header']        = _t( "_Group join error" );
213                $_page['header_text']   = _t( "_Group join error" );
214                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You're already in group" ));
215            }
216            else
217            {
218                if( (int)$arrGroup['hidden_group'] )
219                {
220                    $_page['header']        = _t( "_Group join error" );
221                    $_page['header_text']   = _t( "_Group join error" );
222                    $_page_cont[0]['page_main_code'] = MsgBox(_t( "_Sorry, group is hidden" ));
223                }
224                else
225                {
226                    if( (int)$arrGroup['open_join'] )
227                    {
228                        $oGroups->addMember2Group( $memberID, $groupID, 'Active' );
229                        $_page['header']        = _t( "_Group join" );
230                        $_page['header_text']   = _t( "_Group join" );
231                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_Congrats. Now you're group member" ).$getBackCode);
232                    }
233                    else
234                    {
235                        $oGroups->sendRequestToCreator( $groupID, $memberID );
236                        $oGroups->addMember2Group( $memberID, $groupID, 'Approval' );
237                        $_page['header']        = _t( "_Group join" );
238                        $_page['header_text']   = _t( "_Group join" );
239                        $_page_cont[$_ni]['page_main_code'] = _t( "_Request sent to the group creator. You will become active group member when he approve you." ).$getBackCode;
240                    }
241                }
242            }
243        break;
244        case 'resign':
245            if( $oGroups->isGroupMember( $memberID, $groupID, false ) )
246            {
247                if( $arrGroup['creatorID'] == $memberID )
248                {
249                    $_page['header']        = _t( "_Group resign error" );
250                    $_page['header_text']   = _t( "_Group resign error" );
251                    $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot resign the group because you're creator" ));
252                }
253                else
254                {
255                    $oGroups->resignGroupMember( $memberID, $groupID );
256                    $_page['header']        = _t( "_Group resign" );
257                    $_page['header_text']   = _t( "_Group resign" );
258                    $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You succesfully resigned from group" ).$getBackCode);
259                }
260            }
261            else
262            {
263                $_page['header']        = _t( "_Group resign error" );
264                $_page['header_text']   = _t( "_Group resign error" );
265                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot resign the group because you're not group member" ));
266            }
267        break;
268        case 'def': //set group thumbnail image
269            if( $arrGroup['creatorID'] == $memberID )
270            {
271                $img = (int)$_REQUEST['img'];
272                if( $img )
273                    $oGroups->setGroupThumb( $groupID, $img );
274                Header( "Location: {$site['url']}grp.php?action=gallery&ID=$groupID" );
275                exit;
276            }
277            else
278            {
279                $_page['header']        = _t( "_Group thumnail set" );
280                $_page['header_text']   = _t( "_Group thumnail set" );
281                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot set group thumnail because you are not group creator" ));
282            }
283        break;
284        case 'delimg': //delete image from group gallery
285            $img = (int)$_REQUEST['img'];
286            $isAuthor = db_res("SELECT `ID` FROM `GroupsGallery` WHERE `ID`=$img AND `by`=$memberID");
287           
288            if( $arrGroup['creatorID'] == $memberID or mysql_num_rows($isAuthor) )
289            {
290                if( $img )
291                    $oGroups->deleteGroupImage( $groupID, $img );
292                Header( "Location: {$site['url']}grp.php?action=gallery&ID=$groupID" );
293                exit;
294            }
295            else
296            {
297                $_page['header']        = _t( "_Group image delete" );
298                $_page['header_text']   = _t( "_Group image delete" );
299                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot delete image because you are not group creator" ));
300            }
301        break;
302        case 'delmem':
303            if( $arrGroup['creatorID'] == $memberID )
304            {
305                $mem = (int)$_REQUEST['mem'];
306                if( $mem )
307                {
308                    if( $mem != $memberID )
309                    {
310                        $oGroups->resignGroupMember( $mem, $groupID );
311                        if( $_SERVER['HTTP_REFERER'] )
312                            Header( "Location: {$_SERVER['HTTP_REFERER']}" );
313                        else
314                            Header( "Location: {$site['url']}grp.php?action=group_members&ID=$groupID" );
315                        exit;
316                    }
317                    else
318                    {
319                        $_page['header']        = _t( "_Group member delete error" );
320                        $_page['header_text']   = _t( "_Group member delete error" );
321                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot delete yourself from group because you are group creator" ));
322                    }
323                }
324                exit;
325            }
326            else
327            {
328                $_page['header']        = _t( "_Group member delete error" );
329                $_page['header_text']   = _t( "_Group member delete error" );
330                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot delete group member because you are not group creator" ));
331            }
332        break;
333        case 'approve':
334            if( $arrGroup['creatorID'] == $memberID )
335            {
336                $mem = (int)$_REQUEST['mem'];
337                if( $mem )
338                {
339                    $queryAppr = "
340                        UPDATE `GroupsMembers`
341                        SET `status`='Active', `Date` = NOW()
342                        WHERE
343                            `groupID`=$groupID AND
344                            `memberID`=$mem AND
345                            `status`='Approval'
346                        ";
347                   
348                    $resAppr = db_res( $queryAppr );
349                    if( mysql_affected_rows($GLOBALS['MySQL']->link) )
350                    {
351                        $_page['header']        = _t( "_Group member approve" );
352                        $_page['header_text']   = _t( "_Group member approve" );
353                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_Member succesfully approved" ).$getBackCode);
354                       
355                        $msg_subj = 'You were approved';
356                        $msg_text = getParam( 'group_approve_notify' );
357                       
358                        $aPlus = array();
359                        $aPlus['group'] = "<a href=\"{$site['url']}grp.php?action=group&ID=$groupID\">".htmlspecialchars_adv($arrGroup['Name'])."</a>";
360                       
361                        foreach( $aPlus as $key => $val )
362                            $msg_text = str_replace( "{{$key}}", $val, $msg_text );
363                       
364                        $msg_text = addslashes( $msg_text );
365                       
366                        db_res( "INSERT INTO `Messages`
367                            ( `Date`, `Sender`, `Recipient`, `Subject`, `Text`, `New` )
368                            VALUES ( NOW(), $memberID, $mem, '$msg_subj', '$msg_text', '1' )" );
369                    }
370                    else
371                    {
372                        $_page['header']        = _t( "_Group member approve error" );
373                        $_page['header_text']   = _t( "_Group member approve error" );
374                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_Some error occured" ));
375                    }
376                }
377            }
378            else
379            {
380                $_page['header']        = _t( "_Group member approve error" );
381                $_page['header_text']   = _t( "_Group member approve error" );
382                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot approve group member because you are not group creator" ));
383            }
384        break;
385        case 'reject':
386            if( $arrGroup['creatorID'] == $memberID )
387            {
388                $mem = (int)$_REQUEST['mem'];
389                if( $mem )
390                {
391                    $queryAppr = "
392                        DELETE FROM `GroupsMembers`
393                        WHERE
394                            `groupID`=$groupID AND
395                            `memberID`=$mem AND
396                            `status`='Approval'
397                        ";
398                   
399                    $resAppr = db_res( $queryAppr );
400                    if( mysql_affected_rows($GLOBALS['MySQL']->link) )
401                    {
402                        $_page['header']        = _t( "_Group member reject" );
403                        $_page['header_text']   = _t( "_Group member reject" );
404                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_Member succesfully rejected" ).$getBackCode);
405                       
406                        $msg_subj = 'You were rejected';
407                        $msg_text = getParam( 'group_reject_notify' );
408                       
409                        $aPlus = array();
410                        $aPlus['group'] = "<a href=\"{$site['url']}grp.php?action=group&ID=$groupID\">".htmlspecialchars_adv($arrGroup['Name'])."</a>";
411                       
412                        $arrMem = getProfileInfo( $mem ); //db_arr( "SELECT `NickName` FROM `Profiles` WHERE `ID`=$mem" );
413                        $aPlus['member'] = $arrMem['NickName'];
414                       
415                        foreach( $aPlus as $key => $val )
416                            $msg_text = str_replace( "{{$key}}", $val, $msg_text );
417                       
418                        $msg_text = addslashes( $msg_text );
419                       
420                        db_res( "INSERT INTO `Messages`
421                            ( `Date`, `Sender`, `Recipient`, `Subject`, `Text`, `New` )
422                            VALUES ( NOW(), $memberID, $mem, '$msg_subj', '$msg_text', '1' )" );
423                    }
424                    else
425                    {
426                        $_page['header']        = _t( "_Group member reject error" );
427                        $_page['header_text']   = _t( "_Group member reject error" );
428                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_Some error occured" ));
429                    }
430                }
431            }
432            else
433            {
434                $_page['header']        = _t( "_Group member reject error" );
435                $_page['header_text']   = _t( "_Group member reject error" );
436                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot reject group member because you are not group creator" ));
437            }
438        break;
439        case 'invite':
440            if( ( (int)$arrGroup['members_invite'] and $oGroups->isGroupMember( $memberID, $groupID ) ) or $arrGroup['creatorID'] == $memberID )
441            {
442                if( $_REQUEST['do_submit'] )
443                {
444                    $_page['header']        = _t( "_Group invite" );
445                    $_page['header_text']   = _t( "_Group invite" );
446                   
447                    $arrInvites = $_REQUEST['invites'];
448                    if( $arrInvites )
449                    {
450                        foreach( $arrInvites as $i => $iMemID )
451                        {
452                            $arrInvites[$i] = (int)$iMemID;
453                            if( !$arrInvites[$i] )
454                                unset( $arrInvites[$i] );
455                        }
456                       
457                        $arrInvites = array_unique( $arrInvites );
458                       
459                        foreach( $arrInvites as $iMemID ) {
460                            if ($oGroups->isGroupMember( $iMemID, $groupID )) {
461                                $aCurMemb = getProfileInfo($iMemID);
462                                $sAlreadyHereC = _t('_nick_already_in_group', $aCurMemb['NickName']);
463                                $getBackCode .= <<<EOF
464<script type="text/javascript">
465    alert('{$sAlreadyHereC}');
466</script>
467EOF;
468                            }
469                            sendGroupInvite( $groupID, $iMemID );
470                        }
471                       
472                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( '_Invites succesfully sent' ).$getBackCode);
473                    }
474                    else
475                    {
476                        $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( '_You should specify at least one member' ).$getBackCode);
477                    }
478                }
479                else
480                {
481                    $_page['header']        = _t( "_Group invite" );
482                    $_page['header_text']   = _t( "_Group invite" );
483                    $_page['js_name']       = "members_thrower.js";
484                    $_page['extra_js']      = <<<EOJ
485<script type="text/javascript">
486    var sForm = 'group_invite_form';
487    var sFrom = 'friends';
488    var sTo   = 'invites';
489</script>
490EOJ;
491                    $_page_cont[$_ni]['page_main_code'] = genGroupInviteForm();
492                }
493            }
494            else
495            {
496                $_page['header']        = _t( "_Group invite error" );
497                $_page['header_text']   = _t( "_Group invite error" );
498                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot invite members to the group" ));
499            }
500        break;
501        case 'acc_inv': //accept invite
502            db_res( "
503                UPDATE `GroupsMembers`
504                SET `status`='Active', `Date` = NOW()
505                WHERE
506                    `groupID`={$groupID} AND
507                    `memberID`={$memberID} AND
508                    `status`='Invited'
509                " );
510            if( mysql_affected_rows($GLOBALS['MySQL']->link) )
511            {
512                $_page['header']        = _t( "_Group invite accept" );
513                $_page['header_text']   = _t( "_Group invite accept" );
514                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You succesfully accepted group invite" ).$getBackCode);
515            }
516            else
517            {
518                $_page['header']        = _t( "_Group invite accept error" );
519                $_page['header_text']   = _t( "_Group invite accept error" );
520                $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You cannot accept group invite" ));
521            }
522        break;
523        case 'rej_inv': //reject invite
524            db_res( "
525                DELETE FROM `GroupsMembers`
526                WHERE
527                    `groupID`={$groupID} AND
528                    `memberID`={$memberID} AND
529                    `status`='Invited'
530                " );
531           
532            $_page['header']        = _t( "_Group invite reject" );
533            $_page['header_text']   = _t( "_Group invite reject" );
534            $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_You succesfully rejected group invite" ));
535        break;
536        default:
537            $_page['header']        = _t( "_Group action error" );
538            $_page['header_text']   = _t( "_Group action error" );
539            $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_Unknown group action" ));
540    }
541}
542else
543    $_page_cont[$_ni]['page_main_code'] = MsgBox(_t( "_Group not found_desc" ));
544
545// --------------- page components
546
547// --------------- [END] page components
548
549PageCode();
550
551
552function genGroupInviteForm()
553{
554    global $groupID;
555    global $memberID;
556
557    ///*`FriendList`.*,*/
558    $sFriendsQuery =
559    "SELECT
560        IF(`FriendList`.`ID`=$memberID, `FriendList`.`Profile`, `FriendList`.`ID`) AS `ID`,
561        `Profiles`.`NickName`
562    FROM `FriendList`
563    LEFT JOIN `Profiles`
564    ON (IF(`FriendList`.`ID`=$memberID, `FriendList`.`Profile`, `FriendList`.`ID`) = `Profiles`.`ID`)
565    WHERE
566        (`FriendList`.`ID`=$memberID OR `FriendList`.`Profile`=$memberID) AND `check` =1
567    ";
568   
569    $rFriends = db_res( $sFriendsQuery );
570   
571    $aFriends = array();
572   
573    while( $aFriend = mysql_fetch_assoc( $rFriends ) )
574        $aFriends[$aFriend['ID']] = $aFriend['NickName'];
575
576    ob_start();
577   
578    //echoDbg( $_REQUEST['invites'] );
579    ?>
580    <form name="group_invite_form" id="group_invite_form" action="<?=$_SERVER['PHP_SELF']?>" method="GET" onsubmit="return checkThrowerForm();">
581        <input type="hidden" name="a" value="invite" />
582        <input type="hidden" name="ID" value="<?=$groupID?>" />
583        <div class="group_invite_wrapper">
584            <div class="group_invite_desc"><?=_t('_Group invite_desc')?></div>
585            <table class="group_invite_table">
586                <tr class="group_invite_tr1">
587                    <td class="group_invite_td1">
588                        <div class="group_invite_head"><?=_t('_Your friends')?></div>
589                        <select name="friends[]" id="friends" class="group_friends_list" size="10" multiple="multiple">
590    <?php
591    foreach( $aFriends as $friendID => $friendNick )
592    {
593        echo "<option value=\"$friendID\">".htmlspecialchars($friendNick)."</option>\n";
594    }
595    ?>
596                        </select>
597                    </td>
598                    <td class="group_invite_td2">
599                        <div><input type="button" value="<?=_t('_Add ->')?>" onclick="throwMembersFromTo();" /></div>
600                        <div><input type="button" value="<?=_t('_<- Remove')?>" onclick="unthrowMembersFromTo();" /></div>
601                        <div><input type="button" value="<?=_t('_Find more...')?>" onclick="findMoreMembers();" /></div>
602                    </td>
603                    <td class="group_invite_td3">
604                        <div class="group_invite_head"><?=_t('_Invite list')?></div>
605                        <select name="invites[]" id="invites" class="group_invites_list" size="10" multiple="multiple">
606                        </select>
607                    </td>
608                </tr>
609                <tr class="group_invite_tr2">
610                    <td colspan="3" class="group_invite_td4">
611                        <input type="submit" name="do_submit" value="<?=_t('_Send invites')?>" />
612                    </td>
613                </tr>
614            </table>
615        </div>
616    </form>
617    <?php
618   
619    return ob_get_clean();
620}
621
622function sendGroupInvite( $groupID, $iMemID )
623{
624    global $arrMember;
625    global $arrGroup;
626    global $memberID;
627    global $groupID;
628    global $site;
629
630    $aMemStatus = db_arr( "SELECT `status` FROM `GroupsMembers` WHERE `memberID`=$iMemID AND `groupID`=$groupID" );
631   
632    if( $aMemStatus['status'] == 'Active' or $aMemStatus['status'] == 'Invited' )
633        return false;
634   
635    if( $aMemStatus['status'] == 'Approval' )
636        db_res( "DELETE FROM `GroupsMembers` WHERE `memberID`=$iMemID AND `groupID`=$groupID" );
637   
638    db_res( "INSERT INTO `GroupsMembers` VALUES ( $iMemID, $groupID, 'Invited', NOW() )" );
639   
640    //send invitation message
641    $msg_subj = "Group invitation";
642    $msg_text = getParam( 'group_invitation_text' );
643   
644    $aPlus = array();
645    $aPlus['sender'] = "<a href=\"".getProfileLink($arrMember['ID'])."\">".htmlspecialchars_adv( $arrMember['NickName'] )."</a>";
646    $aPlus['group']  = "<a href=\"{$site['url']}grp.php?action=group&ID={$groupID}\">".htmlspecialchars_adv( $arrGroup['Name'] )."</a>";
647   
648    $aPlus['accept'] = "<a href=\"{$site['url']}group_actions.php?a=acc_inv&amp;ID=$groupID\">accept</a>";
649    $aPlus['reject'] = "<a href=\"{$site['url']}group_actions.php?a=rej_inv&amp;ID=$groupID\">reject</a>";
650   
651    foreach( $aPlus as $key => $val )
652        $msg_text = str_replace( "{{$key}}", $val, $msg_text );
653   
654    $msg_text = addslashes( $msg_text );
655    db_res( "INSERT INTO `Messages`
656        ( `Date`, `Sender`, `Recipient`, `Subject`, `Text`, `New` )
657        VALUES ( NOW(), $memberID, $iMemID, '$msg_subj', '$msg_text', '1' )" );
658}
659
660?>
Note: See TracBrowser for help on using the repository browser.