18 $user = $user_id ? eZUser::fetch($user_id) : eZUser::currentUser();
23 'ipediatreFunctionCollection::fetchHasAcceptedGTU()'
24 .
'n\'arrive pas à récupérer l\'utilisateur'
32 eZDebug::writeDebug(
"L'utilisateur `{$user->id()}` a déjà accepté les CGU");
36 eZDebug::writeDebug(
"L'utilisateur `{$user->id()}` n'a pas encore accepté les CGU");
39 return array(
'result'=>
$ok);
47 $countryCode = eZLocale::instance()->countryCode();
49 $categories = eZContentObjectTreeNode::fetchByURLPath($countryCode)
52 'ClassFilterType'=>
'include',
53 'ClassFilterArray'=>array(
'folder'),
54 'SortBy'=> array(array(
'priority',
true))
58 return array(
'result' => $categories);
66 $user = eZUser::fetch($user_id);
67 $folder_ids = array();
72 $result = array(
'error' => array(
'error_type' =>
'kernel',
73 'error_code' => eZError::KERNEL_NOT_FOUND ) );
78 $articles =
$user->contentObject()->mainNode()->children();
79 $folder_ids = array_map(
function($n){
return $n->object()->mainParentNodeID();}, $articles);
80 $folder_ids = array_unique($folder_ids);
81 $folders = array_map(array(
'eZContentObjectTreeNode',
'fetch'), $folder_ids);
82 $result = array(
'result' => $folders );
93 $articles = eZUser::fetch($user_id)->contentObject()
95 ->subTree(array(
'MainNodeOnly' =>
false,
96 'ClassFilterType' =>
'include',
97 'ClassFilterArray' => array(
'article'),
98 'SortBy' => array(array(
'priority',
true))));
101 $articles = array_filter($articles,
102 function($n1) use($category){
103 $count = count(array_filter($n1->object()->assignedNodes(),
104 function($n2) use($category){
105 return ($n2->attribute(
'parent_node_id')==$category);
112 $articles = array_filter($articles,
function($n) use($age) {
114 return in_array($age, explode(
';',$dm[
'age_slot2']->DataText));
119 $articles = array_slice($articles, $offset, $limit);
121 return array(
'result' => $articles );
129 $object = eZContentObject::fetch($object_id);
130 $user = eZUser::fetch($user_id);
133 return array(
'result' =>
$object->mainParentNodeID() ==
$user->contentObject()->mainNodeID());
146 $articles = eZUser::fetch($user_id)->contentObject()
148 ->subTree(array(
'MainNodeOnly' =>
true,
150 'DepthOperator' =>
'eq',
151 'IgnoreVisibility' =>
true,
152 'ClassFilterType' =>
'include',
153 'ClassFilterArray' => array(
'article'),
154 'SortBy' => array(array(
'published',
true))));
158 foreach ($article->object()->assignedNodes() as $node)
160 if ($node->fetchParent()->classIdentifier() ==
'folder') {
161 $article_list[$node->attribute(
'parent_node_id')][] =
$article;
167 uksort($article_list,
function($group1, $group2){
return eZContentObjectTreeNode::fetch($group1)->attribute(
'priority') - eZContentObjectTreeNode::fetch($group2)->attribute(
'priority');});
170 if ( $article_list=== null )
172 $result = array(
'error' => array(
'error_type' =>
'kernel',
173 'error_code' => eZError::KERNEL_NOT_FOUND ) );
177 $result = array(
'result' => $article_list );
187 $parentNodeID = eZContentObject::fetch($user_id)->mainNodeID();
188 $countryCode = eZLocale::instance()->countryCode();
189 $contentRoot = eZContentObjectTreeNode::fetchByURLPath($countryCode);
191 $articles = eZUser::fetch($user_id)->contentObject()
193 ->subTree(array(
'MainNodeOnly' =>
false,
194 'ClassFilterType' =>
'include',
195 'ClassFilterArray' => array(
'article'),
196 'SortBy' => array(array(
'published',
true))));
199 foreach ($article->object()->assignedNodes() as $node) {
200 if ($node->fetchParent()->classIdentifier() ==
'folder') {
201 $article_list[$node->attribute(
'parent_node_id')][] =
$article;
207 uksort($article_list,
function($group1, $group2){
return eZContentObjectTreeNode::fetch($group1)->attribute(
'priority') - eZContentObjectTreeNode::fetch($group2)->attribute(
'priority');});
209 if ( $article_list=== null )
211 $result = array(
'error' => array(
'error_type' =>
'kernel',
212 'error_code' => eZError::KERNEL_NOT_FOUND ) );
216 $result = array(
'result' => $article_list );
226 $countryCode = eZLocale::instance()->countryCode();
227 $contentRoot = eZContentObjectTreeNode::fetchByURLPath($countryCode);
228 $userNodeID = eZContentObject::fetch($user_id)->mainNodeID();
229 $countryCode = eZLocale::instance()->countryCode();
230 $contentRoot = eZContentObjectTreeNode::fetchByURLPath($countryCode);
233 $subnodes = eZUser::fetch($user_id)->contentObject()
235 ->subTree(array(
'MainNodeOnly' =>
false,
236 'IgnoreVisibility' =>
true,
237 'ClassFilterType' =>
'include',
238 'ClassFilterArray' => array(
'article'),
239 'SortBy' => array(array(
'published',
true))));
242 $published_articles = array_filter($subnodes,
function($n){
return $n->attribute(
'is_hidden')==
false;});
243 $unpublished_articles = array_filter($subnodes,
function($n) use($userNodeID) {
return ($n->attribute(
'is_hidden')==
true) && ($n->object()->mainParentNodeID()==$userNodeID);});
245 $published_articles_node_ids = array_map(
function($n){
return $n->attribute(
'node_id');}, $published_articles);
246 $unpublished_articles_node_ids = array_map(
function($n){
return $n->attribute(
'node_id');}, $unpublished_articles);
251 foreach ($contentRoot->children() as $category)
254 $articles_tmp = $category->subTree(array(
'MainNodeOnly' =>
true,
255 'ClassFilterType' =>
'include',
256 'ClassFilterArray' => array(
'article'),
257 'SortBy' => array(array(
'published',
true)) ));
259 foreach ($articles_tmp as $t) {
262 $locations = array_map(
function($n){
return $n->attribute(
'parent_node_id');}, $t->object()->assignedNodes());
264 if (!in_array($userNodeID, $locations)) {
269 $articles[$category->attribute(
'node_id')] = $tmp;
272 foreach ($unpublished_articles as $a) {
279 $cat_id = $cat->attribute(
'node_id');
280 $articles[$cat_id][] = $a;
283 uksort($articles,
function($group1, $group2){
return eZContentObjectTreeNode::fetch($group1)->attribute(
'priority') - eZContentObjectTreeNode::fetch($group2)->attribute(
'priority');});
285 if ( $articles=== null )
287 $result = array(
'error' => array(
'error_type' =>
'kernel',
288 'error_code' => eZError::KERNEL_NOT_FOUND ) );
292 $result = array(
'result' => $articles );
306 $countryCode = eZLocale::instance()->countryCode();
308 $node = eZContentObjectTreeNode::fetchByURLPath($countryCode);
310 $articles = $node->subTree(array(
'MainNodeOnly' =>
false,
311 'AttributeFilter' => array(array(
'published',
'>',(time()-30*24*60*60))),
312 'ClassFilterType' =>
'include',
313 'ClassFilterArray' => array(
'article')));
315 $authorized_articles = array_filter($articles,
function($n) use(
$userNode) {
return !$n->attribute(
'is_hidden') || ($n->attribute(
'parent_node_id') ==
$userNode->attribute(
'node_id'));});
317 foreach ($authorized_articles as
$article)
319 $art =
new iPArticle($article->object());
320 $cat_id = $art->
getCategory()->attribute(
'node_id');
322 $articles_list[$cat_id][] =
$article;
325 uksort($articles_list,
function($group1, $group2){
return eZContentObjectTreeNode::fetch($group1)->attribute(
'priority') - eZContentObjectTreeNode::fetch($group2)->attribute(
'priority');});
327 return array(
'result' => $articles_list);
343 $countryCode = eZLocale::instance()->countryCode();
344 $contentRoot = eZContentObjectTreeNode::fetchByURLPath($countryCode);
346 $filter = array(
'MainNodeOnly' =>
true,
347 'ClassFilterType' =>
'include',
348 'ClassFilterArray' => array(
'article') );
350 foreach ($contentRoot->children() as $child)
352 $articles[$child->attribute(
'node_id')] = $child->subTree($filter);
358 $myarticles = eZUser::fetch($owner_id)->contentObject()
360 ->subTree(array(
'MainNodeOnly' =>
true,
362 'DepthOperator' =>
'eq',
363 'IgnoreVisibility' =>
true,
364 'ClassFilterType' =>
'include',
365 'ClassFilterArray' => array(
'article'),
366 'SortBy' => array(array(
'published',
true))));
369 foreach ($article->object()->assignedNodes() as $node) {
370 if ($node->fetchParent()->classIdentifier() ==
'folder') {
371 $articles[$node->attribute(
'parent_node_id')][] =
$article;
378 foreach ($articles as $k=>$v) {
379 usort($articles[$k],
function($b,$a){
return $a->object()->attribute(
'published') - $b->object()->attribute(
'published');});
382 uksort($articles,
function($group1, $group2){
return eZContentObjectTreeNode::fetch($group1)->attribute(
'priority') - eZContentObjectTreeNode::fetch($group2)->attribute(
'priority');});
384 return array(
'result' => $articles);
395 $article = eZContentObject::fetch($object_id);
397 $user = $user_id ? eZUser::fetch($user_id) : eZUser::currentUser();
400 return array(
'error' => array(
'error_type' =>
'kernel',
401 'error_code' => eZError::KERNEL_NOT_FOUND ) );
404 foreach (
$nodes as $node) {
406 if ($node->attribute(
'parent_node_id') ==
$user->contentObject()->mainNodeID() && !$node->attribute(
'is_hidden')) {
408 return array(
'result' =>
true );
412 return array(
'result'=>
false);
423 $article = eZContentObject::fetch($object_id);
429 foreach (
$nodes as $node) {
430 $parent = $node->fetchParent();
431 if ($parent->classIdentifier() ==
'folder') {
433 return array(
'result' => $parent);
438 return array(
'error' => array(
'error_type' =>
'kernel',
439 'error_code' => eZError::KERNEL_NOT_FOUND ) );
453 foreach (
$nodes as $node) {
455 $parent = $node->fetchParent();
457 if ($parent->classIdentifier() ==
'folder') {