class_FriendListBC.inc.php
4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/**
* @file FriendList.inc.php
* @category freeSN
* @mailto code [at] netz.coop
* @version 0.4.200901
* @link http://netz.coop
*
* @copyright Copyright by netz.coop e.G. 2015
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
class FriendList extends BasisClipboard {
public function post_add(Account &$param_HostAccount, iStorable &$param_iStorable, array $param_array){
if(array_key_exists('MTextID',$param_array)){
//mehrfach angabe überhaupt erwünscht?
foreach($param_array['MTextID'] as $value){
$valueArray=preg_split('/,\s|;\s|,|;|\s/',$value);
foreach($valueArray as $valueID){
$var_FriendID = Profile::NickNameToID($param_iStorable, $valueID);
$BasisElement =& MultimediaText::loadElement($param_HostAccount, $param_iStorable, 'Profile', $var_FriendID);
// $FriendList=$BasisElement->getClipboard($param_HostAccount, $param_iStorable, 'FriendList'.CONFIG::getDelimiter('category').$this->getObjVar('CategoryName'));
$FriendList=$BasisElement->getClipboard($param_HostAccount, $param_iStorable, 'FriendList');
if(is_object($FriendList)) {
if(!$this->get($param_HostAccount, $param_iStorable, $var_FriendID)){
if((boolean) $this->add($param_HostAccount, $param_iStorable, $var_FriendID, 'confirmed')){
Message::newMessage('post_add', $this->ThisClassName);
}
}
if(!$FriendList->get($param_HostAccount, $param_iStorable, $this->PartOfID)){
$FriendList->add($param_HostAccount, $param_iStorable, $this->PartOfID, 'unconfirmed');
}
} else {
return Error::newError('UserError',"your new friend dont give you the right to add you, contact him over message",E_USER_ERROR);
}
}
}
}
}
/**
* @todo kann doch raus oder????? 100319 @f
*/
public static function &load(Account &$param_HostAccount, iStorable &$param_iStorable, $param_PartOfObjVar, $param_PartOfID, $param_State=null,array $param_ConditionArray=null, $param_PartOfBasisClipboard=false, BasisClipboard &$param_BasisClipboard=null){
$new =& parent::load($param_HostAccount, $param_iStorable, $param_PartOfObjVar, $param_PartOfID, $param_State, $param_ConditionArray, $param_PartOfBasisClipboard, $param_BasisClipboard);
return $new;
}
/**
* @deprecated 100318 denke ich @f ..... @todo ansonsten musse es an ... angepasst werden und auch die allgemeine Account &$param_HostAccount, iStorable &$param_iStorable revolution
* soll drinn bleiben meint ulf 100319
*/
protected function Callback_checkFriendship(Account &$param_HostAccount, iStorable &$param_iStorable, MultimediaText &$param_MultimediaText) {
$var_ObjVarID = $param_iStorable->BC_getPartOfObjVarID($this->ThisClassName);
if(!$this->CategoryID) {
$this->CategoryID = $param_iStorable->BC_getCategoryID($this->CategoryName);
}
$var_Friend = BasisClipboard::getBasisClipboardRow($param_iStorable, $param_MultimediaText->getObjVar('ID'), $this->PartOfID, $var_ObjVarID, $param_AttachStateID=null, $param_LinkerProfileID=null, $this->CategoryID);
if(empty($var_Friend)) {
$this->remove( $param_HostAccount, $param_iStorable,$param_MultimediaText->getObjVar('ID') );
} else if(BasisClipboard::getStateName($param_iStorable, $var_Friend[0]['AttachStateID']) == $param_MultimediaText->getObjVar('State') && $param_MultimediaText->getObjVar('State')=='confirmed') {
$var_array = array(
'objvar' => 'friendship',
'value' => 'friendship',
'xml' => 'Subheading'
);
$param_MultimediaText->addOptionalElement($var_array);
} else {
$var_array = array(
'objvar' => 'friendship',
'value' => false,
'xml' => 'Subheading'
);
$param_MultimediaText->addOptionalElement($var_array);
}
}
}
?>