class_Logger.inc.php
4.26 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
/**
* @file class_Logger.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 Logger extends aBasisElementAddon {
protected $Obj;
protected $Data;
private $OnlyWithPOST = array('Edit', 'MakeNew');
public static $count_Logger=0;
public function __construct(iStorable &$param_DB, &$param_Obj) {
Logger::$count_Logger++;
$this->Obj =& $param_Obj;
$this->DB =& $param_DB;
$this->depth = CONFIG::getConfig(get_class($this).'Depth');
$this->ThisClassName = get_class($this);
}
public function delete(){
$var_BEADB = &$this->DB->getBasisElementAddonDataBase($this->ThisClassName);
if($var_BEADB) {
$var_BEADB->deleteAllHistory($this->DB->getObjVar('SRequest'), $this->Obj->getObjVar('ID'));
$var_BEADB->deleteAllVisited($this->DB->getObjVar('SRequest'), $this->Obj->getObjVar('ID'));
}
}
public function addOneToVisited(array $param_ParameterArray=null) {
if(is_subclass_of($this->Obj, 'BasisElement')) {
if(array_search($param_ParameterArray['LoadLevel'], $this->OnlyWithPOST)!==false && (empty($_POST))) {
// $param_ParameterArray['LoadLevel'] = $param_ParameterArray['LoadLevel'].'_before';
} else {
$var_BEADB = &$this->DB->getBasisElementAddonDataBase($this->ThisClassName);
if($var_BEADB) {
$var_BEADB->addOneToVisited($this->DB->getObjVar('SRequest'), $this->Obj->getObjVar('RequestProfileID'), $this->Obj->getObjVar('ID'), $param_ParameterArray['LoadLevel']);
}
}
} else {
D::h1('Logger ist nur für BasisElemente implementiert');
}
}
public function insertToHistory(array $param_ParameterArray=null) {
if(is_subclass_of($this->Obj, 'BasisElement')) {
if(array_search($param_ParameterArray['LoadLevel'], $this->OnlyWithPOST)!==false && (empty($_POST))) {
} else {
$var_BEADB = &$this->DB->getBasisElementAddonDataBase($this->ThisClassName);
if($var_BEADB) {
$tmp_ProfileID = $this->Obj->getObjVar('RequestProfileID');
if(array_key_exists('AuthorProfileID',$param_ParameterArray) && $param_ParameterArray['AuthorProfileID']){
$tmp_ProfileID = $param_ParameterArray['AuthorProfileID'];
}
if(array_key_exists('p', $_GET)) {
$var_BEADB->insertToHistory($this->DB->getObjVar('SRequest'), $tmp_ProfileID, $this->Obj->getObjVar('ID'), $_GET['p'], $param_ParameterArray['LoadLevel']);
}
}
}
} else if(is_subclass_of($this->Obj, 'BasisClipboard')) {
$var_LoadLevel = $param_ParameterArray['LoadLevel'];
$var_BEADB = &$this->DB->getBasisElementAddonDataBase($this->ThisClassName);
if($var_BEADB) {
$var_BEADB->insertToHistory($this->DB->getObjVar('SRequest'), $this->Obj->getObjVar('RequestProfileID'), $this->Obj->getObjVar('PartOfID'), $_GET['p'], $var_LoadLevel);
}
} else {
D::h1('Logger ist nur für BasisElemente implementiert');
}
}
public function insertVisit() {
$var_BEADB = &$this->DB->getBasisElementAddonDataBase($this->ThisClassName);
$var_BEADB->insertVisit($this->DB, $this->getObjVar('RequestProfileID'));
}
public function flushVisites() {
$var_BEADB = &$this->DB->getBasisElementAddonDataBase($this->ThisClassName);
$var_BEADB->flushVisites($this->DB->getObjVar('SRequest'), $this->getObjVar('RequestProfileID'));
}
public function setData(Account &$param_HostAccount, iStorable &$param_iStorable, array $param_Data) {
}
public static function getRequestMTextList(Account &$param_HostAccount, iStorable &$param_iStorable, $param_RequestValue, MultimediaText $param_PartOf, $param_BasisClipboardName=false, array $param_ConditionArray=null) {
}
}
?>