Revision 1791
Added by Luisehahne over 12 years ago
- fixed save search settings
class.wb.php | ||
---|---|---|
37 | 37 |
parent::__construct($mode); |
38 | 38 |
} |
39 | 39 |
|
40 |
/** |
|
41 |
* |
|
42 |
* |
|
43 |
* @return array of first visible language pages with defined fields |
|
44 |
* |
|
45 |
*/ |
|
46 |
public function GetLanguagesDetailsInUsed ( ) { |
|
47 |
global $database; |
|
48 |
$retVal = array(); |
|
49 |
$sql = |
|
50 |
'SELECT DISTINCT `language`'. |
|
51 |
', `page_id`,`level`,`parent`,`root_parent`,`page_code`,`link`,`language`'. |
|
52 |
', `visibility`,`viewing_groups`,`viewing_users`,`position` '. |
|
53 |
'FROM `'.TABLE_PREFIX.'pages` '. |
|
54 |
'WHERE `level`= \'0\' '. |
|
55 |
'AND `root_parent`=`page_id` '. |
|
56 |
'AND `visibility`!=\'none\' '. |
|
57 |
'AND `visibility`!=\'hidden\' '. |
|
58 |
'GROUP BY `language` '. |
|
59 |
'ORDER BY `position`'; |
|
40 | 60 |
|
41 |
/** |
|
42 |
* |
|
43 |
* |
|
44 |
* @param mixed $lang |
|
45 |
* @param mixed $level |
|
46 |
* @param mixed $parent |
|
47 |
* @return |
|
48 |
*/ |
|
49 |
public function GetLanguagesPages ( $lang, $level, $parent ) { |
|
50 |
global $database; |
|
51 |
$page = array(); |
|
52 |
$sql = |
|
53 |
'SELECT `language`,`visibility`,`viewing_groups`,`viewing_users`,`language`,`position`, '. |
|
54 |
'`page_id`,`level`,`parent`,`root_parent`,`page_code`,`link` '. |
|
55 |
'FROM `'.TABLE_PREFIX.'pages` '. |
|
56 |
'WHERE `level`=\''.$level.'\' '. |
|
57 |
'AND `language`=\''.$lang['language'].'\' '. |
|
58 |
'AND `visibility`!=\'none\' '. |
|
59 |
'AND `visibility`!=\'hidden\' '. |
|
60 |
'AND `parent`=\''.$parent.'\' '. |
|
61 |
'AND `root_parent`=`page_id` '. |
|
62 |
'ORDER BY `position`'; |
|
63 |
if($oPage = $database->query($sql)) |
|
64 |
{ |
|
65 |
$page = $oPage->fetchRow(MYSQL_ASSOC); |
|
66 |
} |
|
67 |
return $page; |
|
61 |
if($oRes = $database->query($sql)) |
|
62 |
{ |
|
63 |
while($page = $oRes->fetchRow(MYSQL_ASSOC)) |
|
64 |
{ |
|
65 |
if(!$this->page_is_visible($page)) {continue;} |
|
66 |
$retVal[$page['language']] = $page; |
|
67 |
} |
|
68 |
} |
|
69 |
return $retVal; |
|
68 | 70 |
} |
69 | 71 |
|
70 |
/** |
|
71 |
* |
|
72 |
* |
|
73 |
* @return |
|
74 |
*/ |
|
75 |
public function GetLanguagesInUsed ( ) { |
|
72 |
/** |
|
73 |
* |
|
74 |
* |
|
75 |
* @return comma separate list of first visible languages |
|
76 |
* |
|
77 |
*/ |
|
78 |
public function GetLanguagesInUsed ( ) { |
|
76 | 79 |
global $database; |
77 | 80 |
$retVal = ''; |
78 | 81 |
$page = array(); |
79 | 82 |
$sql = |
80 |
'SELECT DISTINCT `language` '. |
|
81 |
'FROM `'.TABLE_PREFIX.'pages` '. |
|
82 |
'WHERE `level`= \'0\' '. |
|
83 |
'AND `visibility`!=\'none\' '. |
|
84 |
'AND `visibility`!=\'hidden\' '. |
|
85 |
'ORDER BY `position`'; |
|
83 |
'SELECT DISTINCT `language`'. |
|
84 |
', `page_id`,`level`,`parent`,`root_parent`,`page_code`,`link`,`language`'. |
|
85 |
', `visibility`,`viewing_groups`,`viewing_users`,`position` '. |
|
86 |
'FROM `'.TABLE_PREFIX.'pages` '. |
|
87 |
'WHERE `level`= \'0\' '. |
|
88 |
'AND `root_parent`=`page_id` '. |
|
89 |
'AND `visibility`!=\'none\' '. |
|
90 |
'AND `visibility`!=\'hidden\' '. |
|
91 |
'GROUP BY `language` '. |
|
92 |
'ORDER BY `position`'; |
|
86 | 93 |
|
87 |
if($oRes = $database->query($sql)) |
|
88 |
{ |
|
89 |
while($lang = $oRes->fetchRow(MYSQL_ASSOC)) |
|
94 |
if($oRes = $database->query($sql)) |
|
90 | 95 |
{ |
91 |
$page = $this->GetLanguagesPages ( $lang, 0, 0 ); |
|
92 |
if(!$this->page_is_visible($page)) {continue;} |
|
93 |
$retVal .= $page['language'].','; |
|
96 |
while($page = $oRes->fetchRow(MYSQL_ASSOC)) |
|
97 |
{ |
|
98 |
if(!$this->page_is_visible($page)) {continue;} |
|
99 |
$retVal .= $page['language'].','; |
|
100 |
} |
|
94 | 101 |
} |
95 |
} |
|
96 |
return trim($retVal,','); |
|
102 |
return trim($retVal,','); |
|
97 | 103 |
} |
98 | 104 |
|
99 | 105 |
|
... | ... | |
135 | 141 |
return $this->is_group_match( $groups_list, $this->get_groups_id() ); |
136 | 142 |
} |
137 | 143 |
|
138 |
// Check whether a page is visible or not.
|
|
139 |
// This will check page-visibility and user- and group-rights.
|
|
140 |
/* page_is_visible() returns
|
|
141 |
false: if page-visibility is 'none' or 'deleted', or page-vis. is 'registered' or 'private' and user isn't allowed to see the page.
|
|
142 |
true: if page-visibility is 'public' or 'hidden', or page-vis. is 'registered' or 'private' and user _is_ allowed to see the page.
|
|
143 |
*/
|
|
144 |
// Check whether a page is visible or not. |
|
145 |
// This will check page-visibility and user- and group-rights. |
|
146 |
/* page_is_visible() returns |
|
147 |
false: if page-visibility is 'none' or 'deleted', or page-vis. is 'registered' or 'private' and user isn't allowed to see the page. |
|
148 |
true: if page-visibility is 'public' or 'hidden', or page-vis. is 'registered' or 'private' and user _is_ allowed to see the page. |
|
149 |
*/ |
|
144 | 150 |
public function page_is_visible($page) |
145 | 151 |
{ |
146 | 152 |
// First check if visibility is 'none', 'deleted' |
Also available in: Unified diff