Exponential 6.0.13 Exponential Enterprise Open Source CMS - PHP Class Reference

eznodeviewfunctions.php
Go to the documentation of this file.
1 <?php
17 class eZNodeviewfunctions
18 {
19 // Deprecated function for generating the view cache
20 static function generateNodeView( $tpl, $node, $object, $languageCode, $viewMode, $offset,
21 $cacheDir, $cachePath, $viewCacheEnabled,
22 $viewParameters = array( 'offset' => 0, 'year' => false, 'month' => false, 'day' => false ),
23 $collectionAttributes = false, $validation = false )
24 {
25 $cacheFile = eZClusterFileHandler::instance( $cachePath );
26 $args = compact( "tpl", "node", "object", "languageCode", "viewMode", "offset",
27 "viewCacheEnabled",
28 "viewParameters",
29 "collectionAttributes", "validation" );
30 $Result = $cacheFile->processCache( null, // no retrieve, only generate is called
31 array( 'eZNodeviewfunctions', 'generateCallback' ),
32 null,
33 null,
34 $args );
35 return $Result;
36 }
37
38 // Note: This callback is needed to generate the array which is returned
39 // back to eZClusterFileHandler for processing.
40 static function generateCallback( $file, $args )
41 {
42 extract( $args );
43
44 $res = eZNodeViewFunctions::generateNodeViewData( $tpl, $node, $object, $languageCode, $viewMode, $offset,
45 $viewParameters, $collectionAttributes, $validation );
46
47
48 // Check if cache time = 0 (viewcache disabled)
49 $store = $res['cache_ttl'] != 0;
50 // or if explicitly turned off
51 if ( !$viewCacheEnabled )
52 $store = false;
53 $retval = array( 'content' => $res,
54 'scope' => 'viewcache',
55 'store' => $store );
56 if ( $store )
57 $retval['binarydata'] = serialize( $res );
58
59 return $retval;
60 }
61
76 static function generateNodeViewData( eZTemplate $tpl, eZContentObjectTreeNode $node, eZContentObject $object, $languageCode, $viewMode, $offset,
77 array $viewParameters = array( 'offset' => 0, 'year' => false, 'month' => false, 'day' => false ),
78 $collectionAttributes = false, $validation = false )
79 {
80 $section = eZSection::fetch( $object->attribute( 'section_id' ) );
81 if ( $section )
82 {
83 $navigationPartIdentifier = $section->attribute( 'navigation_part_identifier' );
84 $sectionIdentifier = $section->attribute( 'identifier' );
85 }
86 else
87 {
88 $navigationPartIdentifier = null;
89 $sectionIdentifier = null;
90 }
91
92 $keyArray = array( array( 'object', $object->attribute( 'id' ) ),
93 array( 'node', $node->attribute( 'node_id' ) ),
94 array( 'parent_node', $node->attribute( 'parent_node_id' ) ),
95 array( 'class', $object->attribute( 'contentclass_id' ) ),
96 array( 'class_identifier', $node->attribute( 'class_identifier' ) ),
97 array( 'view_offset', $offset ),
98 array( 'viewmode', $viewMode ),
99 array( 'remote_id', $object->attribute( 'remote_id' ) ),
100 array( 'node_remote_id', $node->attribute( 'remote_id' ) ),
101 array( 'navigation_part_identifier', $navigationPartIdentifier ),
102 array( 'depth', $node->attribute( 'depth' ) ),
103 array( 'url_alias', $node->attribute( 'url_alias' ) ),
104 array( 'class_group', $object->attribute( 'match_ingroup_id_list' ) ),
105 array( 'state', $object->attribute( 'state_id_array' ) ),
106 array( 'state_identifier', $object->attribute( 'state_identifier_array' ) ),
107 array( 'section', $object->attribute( 'section_id' ) ),
108 array( 'section_identifier', $sectionIdentifier ) );
109
110 $parentClassID = false;
111 $parentClassIdentifier = false;
112 $parentNodeRemoteID = false;
113 $parentObjectRemoteID = false;
114 $parentNode = $node->attribute( 'parent' );
115 if ( is_object( $parentNode ) )
116 {
117 $parentNodeRemoteID = $parentNode->attribute( 'remote_id' );
118 $keyArray[] = array( 'parent_node_remote_id', $parentNodeRemoteID );
119
120 $parentObject = $parentNode->attribute( 'object' );
121 if ( is_object( $parentObject ) )
122 {
123 $parentObjectRemoteID = $parentObject->attribute( 'remote_id' );
124 $keyArray[] = array( 'parent_object_remote_id', $parentObjectRemoteID );
125
126 $parentClass = $parentObject->contentClass();
127 if ( is_object( $parentClass ) )
128 {
129 $parentClassID = $parentClass->attribute( 'id' );
130 $parentClassIdentifier = $parentClass->attribute( 'identifier' );
131
132 $keyArray[] = array( 'parent_class', $parentClassID );
133 $keyArray[] = array( 'parent_class_identifier', $parentClassIdentifier );
134 }
135 }
136 }
137
138 $res = eZTemplateDesignResource::instance();
139 $res->setKeys( $keyArray );
140
141 if ( $languageCode )
142 {
143 $oldLanguageCode = $node->currentLanguage();
144 $node->setCurrentLanguage( $languageCode );
145 }
146
147 if ( isset( $viewParameters['_custom'] ) )
148 {
149 foreach ( $viewParameters['_custom'] as $customVarName => $customValue )
150 {
151 $tpl->setVariable( $customVarName, $customValue );
152 }
153
154 unset( $viewParameters['_custom'] );
155 }
156
157 $tpl->setVariable( 'node', $node );
158 $tpl->setVariable( 'viewmode', $viewMode );
159 $tpl->setVariable( 'language_code', $languageCode );
160 $tpl->setVariable( 'view_parameters', $viewParameters );
161 $tpl->setVariable( 'collection_attributes', $collectionAttributes );
162 $tpl->setVariable( 'validation', $validation );
163 $tpl->setVariable( 'persistent_variable', false );
164
165 $parents = $node->attribute( 'path' );
166
167 $path = array();
168 $titlePath = array();
169 foreach ( $parents as $parent )
170 {
171 $path[] = array( 'text' => $parent->attribute( 'name' ),
172 'url' => '/content/view/full/' . $parent->attribute( 'node_id' ),
173 'url_alias' => $parent->attribute( 'url_alias' ),
174 'node_id' => $parent->attribute( 'node_id' ) );
175 }
176
177 $titlePath = $path;
178 $path[] = array( 'text' => $object->attribute( 'name' ),
179 'url' => false,
180 'url_alias' => false,
181 'node_id' => $node->attribute( 'node_id' ) );
182
183 $titlePath[] = array( 'text' => $object->attribute( 'name' ),
184 'url' => false,
185 'url_alias' => false );
186
187 $tpl->setVariable( 'node_path', $path );
188
189 $event = ezpEvent::getInstance();
190 $event->notify( 'content/pre_rendering', array( $node, $tpl, $viewMode ) );
191
192 $Result = array();
193 $Result['content'] = $tpl->fetch( 'design:node/view/' . $viewMode . '.tpl' );
194 $Result['view_parameters'] = $viewParameters;
195 $Result['path'] = $path;
196 $Result['title_path'] = $titlePath;
197 $Result['section_id'] = $object->attribute( 'section_id' );
198 $Result['node_id'] = $node->attribute( 'node_id' );
199 $Result['navigation_part'] = $navigationPartIdentifier;
200
201 $contentInfoArray = array();
202 $contentInfoArray['object_id'] = $object->attribute( 'id' );
203 $contentInfoArray['node_id'] = $node->attribute( 'node_id' );
204 $contentInfoArray['parent_node_id'] = $node->attribute( 'parent_node_id' );
205 $contentInfoArray['class_id'] = $object->attribute( 'contentclass_id' );
206 $contentInfoArray['class_identifier'] = $node->attribute( 'class_identifier' );
207 $contentInfoArray['remote_id'] = $object->attribute( 'remote_id' );
208 $contentInfoArray['node_remote_id'] = $node->attribute( 'remote_id' );
209 $contentInfoArray['offset'] = $offset;
210 $contentInfoArray['viewmode'] = $viewMode;
211 $contentInfoArray['navigation_part_identifier'] = $navigationPartIdentifier;
212 $contentInfoArray['node_depth'] = $node->attribute( 'depth' );
213 $contentInfoArray['url_alias'] = $node->attribute( 'url_alias' );
214 $contentInfoArray['current_language'] = $object->attribute( 'current_language' );
215 $contentInfoArray['language_mask'] = $object->attribute( 'language_mask' );
216
217 $contentInfoArray['main_node_id'] = $node->attribute( 'main_node_id' );
218 $contentInfoArray['main_node_url_alias'] = false;
219 // Add url alias for main node if it is not current node and user has access to it
220 if ( !$node->isMain() )
221 {
222 $mainNode = $object->mainNode();
223 if ( $mainNode->canRead() )
224 {
225 $contentInfoArray['main_node_url_alias'] = $mainNode->attribute( 'url_alias' );
226 }
227 }
228
229 $contentInfoArray['persistent_variable'] = false;
230 if ( $tpl->variable( 'persistent_variable' ) !== false )
231 {
232 $contentInfoArray['persistent_variable'] = $tpl->variable( 'persistent_variable' );
233 $keyArray[] = array( 'persistent_variable', $contentInfoArray['persistent_variable'] );
234 $res->setKeys( $keyArray );
235 }
236 $contentInfoArray['class_group'] = $object->attribute( 'match_ingroup_id_list' );
237 $contentInfoArray['state'] = $object->attribute( 'state_id_array' );
238 $contentInfoArray['state_identifier'] = $object->attribute( 'state_identifier_array' );
239 $contentInfoArray['section_identifier'] = $sectionIdentifier;
240 $contentInfoArray['parent_class_id'] = $parentClassID;
241 $contentInfoArray['parent_class_identifier'] = $parentClassIdentifier;
242 $contentInfoArray['parent_node_remote_id'] = $parentNodeRemoteID;
243 $contentInfoArray['parent_object_remote_id'] = $parentObjectRemoteID;
244
245 $Result['content_info'] = $contentInfoArray;
246
247 // Store which templates were used to make this cache.
248 $Result['template_list'] = $tpl->templateFetchList();
249
250 // Check if time to live is set in template
251 if ( $tpl->hasVariable( 'cache_ttl' ) )
252 {
253 $cacheTTL = $tpl->variable( 'cache_ttl' );
254 }
255
256 if ( !isset( $cacheTTL ) )
257 {
258 $cacheTTL = -1;
259 }
260
261 $Result['cache_ttl'] = $cacheTTL;
262
263 // if cache_ttl is set to 0 from the template, we need to add a no-cache advice
264 // to the node's data. That way, the retrieve callback on the next calls
265 // will be able to determine earlier that no cache generation should be started
266 // for this node
267 if ( $cacheTTL == 0 )
268 {
269 $Result['no_cache'] = true;
270 }
271
272 if ( $languageCode )
273 {
274 $node->setCurrentLanguage( $oldLanguageCode );
275 }
276
277 return $Result;
278 }
279
280 static function generateViewCacheFile( $user, $nodeID, $offset, $layout, $language, $viewMode, $viewParameters = false, $cachedViewPreferences = false, $viewCacheTweak = '' )
281 {
282 $cacheNameExtra = '';
283 $ini = eZINI::instance();
284
285 if ( !$language )
286 {
287 $language = false;
288 }
289
290 if ( !$viewCacheTweak && $ini->hasVariable( 'ContentSettings', 'ViewCacheTweaks' ) )
291 {
292 $viewCacheTweaks = $ini->variable( 'ContentSettings', 'ViewCacheTweaks' );
293 if ( isset( $viewCacheTweaks[$nodeID] ) )
294 {
295 $viewCacheTweak = $viewCacheTweaks[$nodeID];
296 }
297 else if ( isset( $viewCacheTweaks['global'] ) )
298 {
299 $viewCacheTweak = $viewCacheTweaks['global'];
300 }
301 }
302
303 // should we use current siteaccess or let several siteaccesse share cache?
304 if ( strpos( $viewCacheTweak, 'ignore_siteaccess_name' ) === false )
305 {
306 $currentSiteAccess = $GLOBALS['eZCurrentAccess']['name'];
307 }
308 else
309 {
310 $currentSiteAccess = $ini->variable( 'SiteSettings', 'DefaultAccess' );
311 }
312
313 $cacheHashArray = array( $nodeID,
314 $viewMode,
315 $language,
316 $offset,
317 $layout );
318
319 // several user related cache tweaks
320 if ( strpos( $viewCacheTweak, 'ignore_userroles' ) === false )
321 {
322 $cacheHashArray[] = implode( '.', $user->roleIDList() );
323 }
324
325 if ( strpos( $viewCacheTweak, 'ignore_userlimitedlist' ) === false )
326 {
327 $cacheHashArray[] = implode( '.', $user->limitValueList() );
328 }
329
330 if ( strpos( $viewCacheTweak, 'ignore_discountlist' ) === false )
331 {
332 $cacheHashArray[] = implode( '.', eZUserDiscountRule::fetchIDListByUserID( $user->attribute( 'contentobject_id' ) ) );
333 }
334
335 $cacheHashArray[] = eZSys::indexFile();
336
337 // Add access type to cache hash if current access is uri type (so uri and host doesn't share cache)
338 if ( strpos( $viewCacheTweak, 'ignore_siteaccess_type' ) === false && $GLOBALS['eZCurrentAccess']['type'] === eZSiteAccess::TYPE_URI )
339 {
340 $cacheHashArray[] = eZSiteAccess::TYPE_URI;
341 }
342
343 // Make the cache unique for every logged in user
344 if ( strpos( $viewCacheTweak, 'pr_user' ) !== false and !$user->isAnonymous() )
345 {
346 $cacheNameExtra = $user->attribute( 'contentobject_id' ) . '-';
347 }
348
349 // Add the request protocol to the cache key generation
350 if ( strpos( $viewCacheTweak, 'protocol' ) !== false )
351 {
352 $cacheHashArray[] = eZSys::isSSLNow();
353 }
354
355 // Make the cache unique for every case of view parameters
356 if ( strpos( $viewCacheTweak, 'ignore_viewparameters' ) === false && $viewParameters )
357 {
358 $vpString = '';
359 ksort( $viewParameters );
360 foreach ( $viewParameters as $key => $value )
361 {
362 if ( !$key || $key === '_custom' )
363 continue;
364 $vpString .= 'vp:' . $key . '=' . $value;
365 }
366 $cacheHashArray[] = $vpString;
367 }
368
369 // Make the cache unique for every case of the preferences
370 if ( $cachedViewPreferences === false )
371 {
372 $depPreferences = $ini->variable( 'ContentSettings', 'CachedViewPreferences' );
373 }
374 else
375 {
376 $depPreferences = $cachedViewPreferences;
377 }
378
379 if ( strpos( $viewCacheTweak, 'ignore_userpreferences' ) === false && isset ( $depPreferences[$viewMode] ) )
380 {
381 $depPreferences = explode( ';', $depPreferences[$viewMode] );
382 $pString = '';
383 // Fetch preferences for the specified user
384 $preferences = eZPreferences::values( $user );
385 foreach( $depPreferences as $pref )
386 {
387 $pref = explode( '=', $pref );
388 if ( isset( $pref[0] ) )
389 {
390 if ( isset( $preferences[$pref[0]] ) )
391 $pString .= 'p:' . $pref[0] . '='. $preferences[$pref[0]]. ';';
392 else if ( isset( $pref[1] ) )
393 $pString .= 'p:' . $pref[0] . '='. $pref[1]. ';';
394 }
395 }
396 $cacheHashArray[] = $pString;
397 }
398
399 $cacheFile = $nodeID . '-' . $cacheNameExtra . md5( implode( '-', $cacheHashArray ) ) . '.cache';
400 $extraPath = eZDir::filenamePath( $nodeID );
401 $cacheDir = eZDir::path( array( eZSys::cacheDirectory(), $ini->variable( 'ContentSettings', 'CacheDir' ), $currentSiteAccess, $extraPath ) );
402 $cachePath = eZDir::path( array( $cacheDir, $cacheFile ) );
403
404 return array( 'cache_path' => $cachePath,
405 'cache_dir' => $cacheDir,
406 'cache_file' => $cacheFile );
407 }
408
421 static public function contentViewRetrieve( $file, $mtime, $args )
422 {
423 extract( $args );
424
425 $cacheExpired = false;
426
427 // Read Cache file
428 if ( !eZContentObject::isCacheExpired( $mtime ) )
429 {
430 // $contents = $cacheFile->fetchContents();
431 $contents = file_get_contents( $file );
432 $Result = unserialize( $contents );
433
434 if( !is_array( $Result ) )
435 {
436 $expiryReason = 'Unexpected cache file content';
437 $cacheExpired = true;
438 }
439
440 // Check if a no_cache key has been set in the viewcache, and
441 // return an eZClusterFileFailure if it has
442 if ( isset( $Result['no_cache'] ) )
443 {
444 return new eZClusterFileFailure( 3, "Cache has been disabled for this node" );
445 }
446
447 // Check if cache has expired when cache_ttl is set
448 $cacheTTL = isset( $Result['cache_ttl'] ) ? $Result['cache_ttl'] : -1;
449 if ( $cacheTTL > 0 )
450 {
451 $expiryTime = $mtime + $cacheTTL;
452 if ( time() > $expiryTime )
453 {
454 $cacheExpired = true;
455 $expiryReason = 'Content cache is expired by cache_ttl=' . $cacheTTL;
456 }
457 }
458
459 // Check if template source files are newer, but only if the cache is not expired
460 if ( !$cacheExpired )
461 {
462 $developmentModeEnabled = $ini->variable( 'TemplateSettings', 'DevelopmentMode' ) == 'enabled';
463 // Only do filemtime checking when development mode is enabled.
464 if ( $developmentModeEnabled &&
465 isset( $Result['template_list'] ) ) // And only if there is a list stored in the cache
466 {
467 foreach ( $Result['template_list'] as $templateFile )
468 {
469 if ( !file_exists( $templateFile ) )
470 {
471 $cacheExpired = true;
472 $expiryReason = "Content cache is expired by template file '" . $templateFile . "', it does not exist anymore";
473 break;
474 }
475 else if ( filemtime( $templateFile ) > $mtime )
476 {
477 $cacheExpired = true;
478 $expiryReason = "Content cache is expired by template file '" . $templateFile . "'";
479 break;
480 }
481 }
482 }
483 }
484
485 if ( !$cacheExpired )
486 {
487 if ( !isset( $Result['content_info'] ) )
488 {
489 // set error type & number for kernel errors (see https://jira.ez.no/browse/EZP-23046)
490 if ( isset( $Result['errorType'] ) && isset( $Result['errorNumber'] ) )
491 {
492 $res = eZTemplateDesignResource::instance();
493 $res->setKeys(
494 array(
495 array( 'error_type', $Result['errorType'] ),
496 array( 'error_number', $Result['errorNumber'] )
497 )
498 );
499 }
500 return $Result;
501 }
502 $keyArray = array( array( 'object', $Result['content_info']['object_id'] ),
503 array( 'node', $Result['content_info']['node_id'] ),
504 array( 'parent_node', $Result['content_info']['parent_node_id'] ),
505 array( 'parent_node_remote_id', $Result['content_info']['parent_node_remote_id'] ),
506 array( 'parent_object_remote_id', $Result['content_info']['parent_object_remote_id'] ),
507 array( 'class', $Result['content_info']['class_id'] ),
508 array( 'view_offset', $Result['content_info']['offset'] ),
509 array( 'navigation_part_identifier', $Result['content_info']['navigation_part_identifier'] ),
510 array( 'viewmode', $Result['content_info']['viewmode'] ),
511 array( 'depth', $Result['content_info']['node_depth'] ),
512 array( 'remote_id', $Result['content_info']['remote_id'] ),
513 array( 'node_remote_id', $Result['content_info']['node_remote_id'] ),
514 array( 'url_alias', $Result['content_info']['url_alias'] ),
515 array( 'persistent_variable', $Result['content_info']['persistent_variable'] ),
516 array( 'class_group', $Result['content_info']['class_group'] ),
517 array( 'parent_class_id', $Result['content_info']['parent_class_id'] ),
518 array( 'parent_class_identifier', $Result['content_info']['parent_class_identifier'] ),
519 array( 'state', $Result['content_info']['state'] ),
520 array( 'state_identifier', $Result['content_info']['state_identifier'] ),
521 array( 'section', $Result['section_id'] ) );
522
523 if ( isset( $Result['content_info']['class_identifier'] ) )
524 $keyArray[] = array( 'class_identifier', $Result['content_info']['class_identifier'] );
525
526 // Added in 5.3.5 / 5.4.2, so test that cache contains this before using
527 if ( isset( $Result['content_info']['section_identifier'] ) )
528 $keyArray[] = array( 'section_identifier', $Result['content_info']['section_identifier'] );
529
530 $res = eZTemplateDesignResource::instance();
531 $res->setKeys( $keyArray );
532
533 return $Result;
534 }
535 }
536 else
537 {
538 $expiryReason = 'Content cache is expired by eZContentObject::isCacheExpired(' . $mtime . ")";
539 }
540
541 // Cache is expired so return specialized cluster object
542 if ( !isset( $expiryReason ) )
543 $expiryReason = 'Content cache is expired';
544 return new eZClusterFileFailure( 1, $expiryReason );
545 }
546
567 static public function contentViewGenerate( $file, $args )
568 {
569 extract( $args );
570 $node = eZContentObjectTreeNode::fetch( $NodeID );
571 if ( !$node instanceof eZContentObjectTreeNode )
572 {
573 if ( !eZDB::instance()->isConnected())
574 {
575 return self::contentViewGenerateError( $Module, eZError::KERNEL_NO_DB_CONNECTION, false );
576 }
577
578 return self::contentViewGenerateError( $Module, eZError::KERNEL_NOT_AVAILABLE );
579 }
580
581 $object = $node->attribute( 'object' );
582 if ( !$object instanceof eZContentObject )
583 {
584 return self::contentViewGenerateError( $Module, eZError::KERNEL_NOT_AVAILABLE );
585 }
586
587 if ( $node->attribute( 'is_invisible' ) && !eZContentObjectTreeNode::showInvisibleNodes() )
588 {
589 return self::contentViewGenerateError( $Module, eZError::KERNEL_ACCESS_DENIED );
590 }
591
592 if ( !$node->canRead() )
593 {
594 return self::contentViewGenerateError(
595 $Module,
596 eZError::KERNEL_ACCESS_DENIED,
597 true,
598 array( 'AccessList' => $node->checkAccess( 'read', false, false, true ) )
599 );
600 }
601
602 $result = self::generateNodeViewData(
603 $tpl,
604 $node,
605 $object,
606 $LanguageCode,
607 $ViewMode,
608 $Offset,
609 $viewParameters,
610 $collectionAttributes,
611 $validation
612 );
613
614 // 'store' depends on noCache: if $noCache is set, this means that retrieve
615 // returned it, and the noCache fake cache file is already stored
616 // and should not be stored again
617 $retval = array( 'content' => $result,
618 'scope' => 'viewcache',
619 'store' => !( isset( $noCache ) and $noCache ) );
620 if ( $file !== false && $retval['store'] )
621 $retval['binarydata'] = serialize( $result );
622 return $retval;
623 }
624
633 static protected function contentViewGenerateError( eZModule $Module, $error, $store = true, array $errorParameters = array() )
634 {
635 $content = $Module->handleError(
636 $error,
637 'kernel',
638 $errorParameters
639 );
640
641 return array(
642 'content' => $content,
643 'scope' => 'viewcache',
644 'store' => $store,
645 'binarydata' => serialize( $content ),
646 );
647 }
648 }
649
650 ?>
eZClusterFileFailure
Definition: ezclusterfilefailure.php:20
eZClusterFileHandler\instance
static instance( $filename=false)
Definition: ezclusterfilehandler.php:21
eZContentObjectTreeNode
Definition: ezcontentobjecttreenode.php:17
eZContentObjectTreeNode\checkAccess
checkAccess( $functionName, $originalClassID=false, $parentClassID=false, $returnAccessList=false, $language=false)
Definition: ezcontentobjecttreenode.php:4358
eZContentObjectTreeNode\fetch
static fetch( $nodeID=false, $lang=false, $asObject=true, $conditions=false)
Definition: ezcontentobjecttreenode.php:3058
eZContentObjectTreeNode\isMain
isMain()
Definition: ezcontentobjecttreenode.php:276
eZContentObjectTreeNode\showInvisibleNodes
static showInvisibleNodes()
Definition: ezcontentobjecttreenode.php:1877
eZContentObjectTreeNode\currentLanguage
currentLanguage()
Definition: ezcontentobjecttreenode.php:6216
eZContentObjectTreeNode\canRead
canRead()
Definition: ezcontentobjecttreenode.php:310
eZContentObjectTreeNode\setCurrentLanguage
setCurrentLanguage( $languageCode)
Definition: ezcontentobjecttreenode.php:6226
eZContentObject
Definition: ezcontentobject.php:17
eZContentObject\mainNode
mainNode()
Definition: ezcontentobject.php:3982
eZContentObject\isCacheExpired
static isCacheExpired( $timestamp)
Definition: ezcontentobject.php:5988
eZDB\instance
static instance( $databaseImplementation=false, $databaseParameters=false, $forceNewInstance=false)
Definition: ezdb.php:117
eZDir\filenamePath
static filenamePath( $filename, $maxCharLen=2)
Definition: ezdir.php:55
eZDir\path
static path( $names, $includeEndSeparator=false, $type=self::SEPARATOR_UNIX)
Definition: ezdir.php:237
eZError\KERNEL_ACCESS_DENIED
const KERNEL_ACCESS_DENIED
Definition: ezerror.php:21
eZError\KERNEL_NO_DB_CONNECTION
const KERNEL_NO_DB_CONNECTION
Definition: ezerror.php:56
eZError\KERNEL_NOT_AVAILABLE
const KERNEL_NOT_AVAILABLE
Definition: ezerror.php:29
eZModule
Definition: ezmodule.php:36
eZModule\handleError
handleError( $errorCode, $errorType=false, $parameters=array(), $userParameters=false)
Definition: ezmodule.php:593
eZNodeviewfunctions
The class eZNodeviewfunctions does.
Definition: eznodeviewfunctions.php:18
eZNodeviewfunctions\generateNodeViewData
static generateNodeViewData(eZTemplate $tpl, eZContentObjectTreeNode $node, eZContentObject $object, $languageCode, $viewMode, $offset, array $viewParameters=array( 'offset'=> 0, 'year'=> false, 'month'=> false, 'day'=> false), $collectionAttributes=false, $validation=false)
Definition: eznodeviewfunctions.php:76
eZNodeviewfunctions\generateViewCacheFile
static generateViewCacheFile( $user, $nodeID, $offset, $layout, $language, $viewMode, $viewParameters=false, $cachedViewPreferences=false, $viewCacheTweak='')
Definition: eznodeviewfunctions.php:280
eZNodeviewfunctions\contentViewGenerateError
static contentViewGenerateError(eZModule $Module, $error, $store=true, array $errorParameters=array())
Definition: eznodeviewfunctions.php:633
eZNodeviewfunctions\generateNodeView
static generateNodeView( $tpl, $node, $object, $languageCode, $viewMode, $offset, $cacheDir, $cachePath, $viewCacheEnabled, $viewParameters=array( 'offset'=> 0, 'year'=> false, 'month'=> false, 'day'=> false), $collectionAttributes=false, $validation=false)
Definition: eznodeviewfunctions.php:20
eZNodeviewfunctions\generateCallback
static generateCallback( $file, $args)
Definition: eznodeviewfunctions.php:40
eZNodeviewfunctions\contentViewRetrieve
static contentViewRetrieve( $file, $mtime, $args)
Definition: eznodeviewfunctions.php:421
eZNodeviewfunctions\contentViewGenerate
static contentViewGenerate( $file, $args)
Definition: eznodeviewfunctions.php:567
eZPersistentObject\attribute
attribute( $attr, $noFunction=false)
Definition: ezpersistentobject.php:1329
eZPreferences\values
static values( $user=false)
Definition: ezpreferences.php:147
eZSection\fetch
static fetch( $sectionID, $asObject=true)
Definition: ezsection.php:64
eZSiteAccess\TYPE_URI
const TYPE_URI
Definition: ezsiteaccess.php:24
eZSys\isSSLNow
static isSSLNow()
Definition: ezsys.php:744
eZSys\indexFile
static indexFile( $withAccessPath=true)
Definition: ezsys.php:618
eZSys\cacheDirectory
static cacheDirectory()
Definition: ezsys.php:527
eZTemplateDesignResource\instance
static instance()
Definition: eztemplatedesignresource.php:1026
eZTemplate
The main manager for templates.
Definition: eztemplate.php:199
eZTemplate\setVariable
setVariable( $var, $val, $namespace='', $scopeSafe=false)
Definition: eztemplate.php:1486
eZTemplate\variable
variable( $var, $namespace='', $attrs=null)
Definition: eztemplate.php:1593
eZTemplate\templateFetchList
templateFetchList()
Definition: eztemplate.php:2610
eZTemplate\hasVariable
hasVariable( $var, $namespace='', $attrs=null)
Definition: eztemplate.php:1548
eZTemplate\fetch
fetch( $template=false, $extraParameters=false, $returnResourceData=false)
Definition: eztemplate.php:493
eZUserDiscountRule\fetchIDListByUserID
static fetchIDListByUserID( $userID)
Definition: ezuserdiscountrule.php:84
Copyright © 1998 – 2026 7x. All rights reserved. Licensed under the GNU GPLv2+.