Changeset 130

Show
Ignore:
Timestamp:
01/15/06 20:50:53 (3 years ago)
Author:
ben
Message:

Friendship requests: further groundwork
(Still to come: the communities version, plus the option to set access restrictions in account settings)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • devel/units/friends/friends_actions.php

    r127 r130  
    5353                                                                                } 
    5454                                                                                break; 
     55                                // Approve a friendship request 
     56                                case "friends:approve:request": 
     57                                                                                if (isset($_REQUEST['request_id']) && logged_on && run("users:type:get", $page_owner) == "person") { 
     58                                                                                         
     59                                                                                        $request_id = (int) $_REQUEST['request_id']; 
     60                                                                                        $request = db_query("select users.name, friends_requests.owner, friends_requests.friend from friends_requests left join users on users.ident = friends_requests.owner where friends_requests.ident = $request_id"); 
     61                                                                                        if (sizeof($request) > 0) { 
     62                                                                                                $request = $request[0]; 
     63                                                                                                if (run("permissions:check",array("userdetails:change", $page_owner))) { 
     64                                                                                                        db_query("delete from friends_requests where ident = $request_id"); 
     65                                                                                                        db_query("insert into friends set owner = " . $request->owner . ", friend = " . $request->friend); 
     66                                                                                                        $messages[] = sprintf(gettext("You approved the friendship request. %s now lists you as a friend."),stripslashes($request->name)); 
     67                                                                                                } else { 
     68                                                                                                        $messages[] = gettext("Error: you do not have authority to modify this friendship request."); 
     69                                                                                                } 
     70                                                                                        } else { 
     71                                                                                                $messages[] = gettext("An error occurred: the friendship request could not be found."); 
     72                                                                                        } 
     73                                                                                         
     74                                                                                } 
     75                                                                                break; 
     76                                // Reject a friendship request 
     77                                case "friends:decline:request": 
     78                                                                                if (isset($_REQUEST['request_id']) && logged_on && run("users:type:get", $page_owner) == "person") { 
     79                                                                                         
     80                                                                                        $request_id = (int) $_REQUEST['request_id']; 
     81                                                                                        $request = db_query("select users.name, friends_requests.owner, friends_requests.friend from friends_requests left join users on users.ident = friends_requests.owner where ident = $request_id"); 
     82                                                                                        if (sizeof($request) > 0) { 
     83                                                                                                $request = $request[0]; 
     84                                                                                                if (run("permissions:check",array("userdetails:change", $page_owner))) { 
     85                                                                                                        db_query("delete from friends_requests where ident = $request_id"); 
     86                                                                                                        $messages[] = sprintf(gettext("You declined the friendship request. %s does not list you as a friend."),stripslashes($request->name)); 
     87                                                                                                } else { 
     88                                                                                                        $messages[] = gettext("Error: you do not have authority to modify this friendship request."); 
     89                                                                                                } 
     90                                                                                        } else { 
     91                                                                                                $messages[] = gettext("An error occurred: the friendship request could not be found."); 
     92                                                                                        } 
     93                                                                                         
     94                                                                                } 
     95                                                                                break; 
    5596                                 
    5697                        } 
  • devel/units/friends/main.php

    r71 r130  
    2323                $function['friends:edit'][] = path . "units/friends/friends_edit.php"; 
    2424 
     25        // Friendship requests 
     26                $function['friends:requests:view'][] = path . "units/friends/user_friendship_requests.php"; 
     27                 
    2528        // 'Friends of' full view / edit section 
    2629                $function['friends:of:editpage'][] = path . "units/friends/friends_of_edit_wrapper.php"; 
  • devel/units/friends/menu_sub.php

    r45 r130  
    2222                                                        ) 
    2323                                                        ); 
     24                                                         
     25                        $run_result .= run("templates:draw", array( 
     26                                                                'context' => 'submenuitem', 
     27                                                                'name' => gettext("Friendship requests"), 
     28                                                                'location' => url . '_friends/requests.php?owner=' . $page_owner 
     29                                                        ) 
     30                                                        ); 
    2431 
    2532                        $run_result .= run("templates:draw", array(