Exponential 6.0.13 Exponential Enterprise Open Source CMS - PHP Class Reference

ezrssexport.php
Go to the documentation of this file.
1 <?php
18 class eZRSSExport extends eZPersistentObject
19 {
20 public $ImageID;
21 public $ModifierID;
22 public $MainNodeOnly;
23 public $NumberOfObjects;
24 public $Title;
25 public $URL;
26 public $SiteAccess;
27 public $CreatorID;
28 public $Description;
29 public $RSSVersion;
30 public $AccessURL;
31 public $Active;
32
33 const STATUS_VALID = 1;
34 const STATUS_DRAFT = 0;
35
36 static function definition()
37 {
38 return array( 'fields' => array( 'id' => array( 'name' => 'ID',
39 'datatype' => 'integer',
40 'default' => 0,
41 'required' => true ),
42 'node_id' => array( 'name' => 'NodeID',
43 'datatype' => 'integer',
44 'default' => 0,
45 'required' => false ),
46 'title' => array( 'name' => 'Title',
47 'datatype' => 'string',
48 'default' => ezpI18n::tr( 'kernel/rss', 'New RSS Export' ),
49 'required' => true ),
50 'url' => array( 'name' => 'URL',
51 'datatype' => 'string',
52 'default' => '',
53 'required' => true ),
54 'site_access' => array( 'name' => 'SiteAccess',
55 'datatype' => 'string',
56 'default' => '',
57 'required' => true ),
58 'modified' => array( 'name' => 'Modified',
59 'datatype' => 'integer',
60 'default' => 0,
61 'required' => true ),
62 'modifier_id' => array( 'name' => 'ModifierID',
63 'datatype' => 'integer',
64 'default' => 0,
65 'required' => true,
66 'foreign_class' => 'eZUser',
67 'foreign_attribute' => 'contentobject_id',
68 'multiplicity' => '1..*' ),
69 'created' => array( 'name' => 'Created',
70 'datatype' => 'integer',
71 'default' => 0,
72 'required' => true ),
73 'creator_id' => array( 'name' => 'CreatorID',
74 'datatype' => 'integer',
75 'default' => 0,
76 'required' => true,
77 'foreign_class' => 'eZUser',
78 'foreign_attribute' => 'contentobject_id',
79 'multiplicity' => '1..*' ),
80 'description' => array( 'name' => 'Description',
81 'datatype' => 'string',
82 'default' => '',
83 'required' => false ),
84 'image_id' => array( 'name' => 'ImageID',
85 'datatype' => 'integer',
86 'default' => 0,
87 'required' => false ),
88 'rss_version' => array( 'name' => 'RSSVersion',
89 'datatype' => 'string',
90 'default' => 0,
91 'required' => true ),
92 'active' => array( 'name' => 'Active',
93 'datatype' => 'integer',
94 'default' => 0,
95 'required' => true ),
96 'status' => array( 'name' => 'Status',
97 'datatype' => 'integer',
98 'default' => 0,
99 'required' => true ),
100 'access_url' => array( 'name' => 'AccessURL',
101 'datatype' => 'string',
102 'default' => 'rss_feed',
103 'required' => false ),
104 'number_of_objects' => array( 'name' => 'NumberOfObjects',
105 'datatype' => 'integer',
106 'default' => 0,
107 'required' => true ),
108 'main_node_only' => array( 'name' => 'MainNodeOnly',
109 'datatype' => 'integer',
110 'default' => 0,
111 'required' => true ) ),
112 'keys' => array( 'id', 'status' ),
113 'function_attributes' => array( 'item_list' => 'itemList',
114 'modifier' => 'modifier',
115 'rss-xml-content' => 'rssXmlContent', // new attribute which uses the Feed component
116 'image_path' => 'imagePath',
117 'image_node' => 'imageNode' ),
118 'increment_key' => 'id',
119 'sort' => array( 'title' => 'asc' ),
120 'class_name' => 'eZRSSExport',
121 'name' => 'ezrss_export' );
122
123 }
124
132 static function create( $user_id )
133 {
134 $config = eZINI::instance( 'site.ini' );
135 $dateTime = time();
136 $row = array( 'id' => null,
137 'node_id', '',
138 'title' => ezpI18n::tr( 'kernel/classes', 'New RSS Export' ),
139 'site_access' => '',
140 'modifier_id' => $user_id,
141 'modified' => $dateTime,
142 'creator_id' => $user_id,
143 'created' => $dateTime,
144 'status' => self::STATUS_DRAFT,
145 'url' => 'http://'. $config->variable( 'SiteSettings', 'SiteURL' ),
146 'description' => '',
147 'image_id' => 0,
148 'active' => 1,
149 'access_url' => '' );
150 return new eZRSSExport( $row );
151 }
152
158 function store( $storeAsValid = false )
159 {
160 $dateTime = time();
161 $user = eZUser::currentUser();
162 if ( $this->ID == null )
163 {
164 parent::store();
165 return;
166 }
167
168 $db = eZDB::instance();
169 $db->begin();
170 if ( $storeAsValid )
171 {
172 $oldStatus = $this->attribute( 'status' );
173 $this->setAttribute( 'status', eZRSSExport::STATUS_VALID );
174 }
175 $this->setAttribute( 'modified', $dateTime );
176 $this->setAttribute( 'modifier_id', $user->attribute( "contentobject_id" ) );
177 parent::store();
178 $db->commit();
179 if ( $storeAsValid )
180 {
181 $this->setAttribute( 'status', $oldStatus );
182 }
183 }
184
190 function removeThis()
191 {
192 $exportItems = $this->fetchItems();
193
194 $db = eZDB::instance();
195 $db->begin();
196 foreach ( $exportItems as $item )
197 {
198 $item->remove();
199 }
200 $this->remove();
201 $db->commit();
202 }
203
210 static function fetch( $id, $asObject = true, $status = eZRSSExport::STATUS_VALID )
211 {
212 return eZPersistentObject::fetchObject( eZRSSExport::definition(),
213 null,
214 array( "id" => $id,
215 'status' => $status ),
216 $asObject );
217 }
218
225 static function fetchByName( $access_url, $asObject = true )
226 {
227 return eZPersistentObject::fetchObject( eZRSSExport::definition(),
228 null,
229 array( 'access_url' => $access_url,
230 'active' => 1,
231 'status' => self::STATUS_VALID ),
232 $asObject );
233 }
234
239 static function fetchList( $asObject = true )
240 {
241 return eZPersistentObject::fetchObjectList( eZRSSExport::definition(),
242 null, array( 'status' => self::STATUS_VALID ), null, null,
243 $asObject );
244 }
245
246 function itemList()
247 {
248 return $this->fetchItems();
249 }
250
251 function imageNode()
252 {
253 if ( isset( $this->ImageID ) and $this->ImageID )
254 {
255 return eZContentObjectTreeNode::fetch( $this->ImageID );
256 }
257 return null;
258 }
259
260 function imagePath()
261 {
262 if ( isset( $this->ImageID ) and $this->ImageID )
263 {
264 $objectNode = eZContentObjectTreeNode::fetch( $this->ImageID );
265 if ( isset( $objectNode ) )
266 {
267 $retValue = '';
268 $path_array = $objectNode->attribute( 'path_array' );
269 for ( $i = 0; $i < count( $path_array ); $i++ )
270 {
271 $treenode = eZContentObjectTreeNode::fetch( $path_array[$i], false, false );
272
273 if( $i != 0 )
274 {
275 $retValue .= '/';
276 }
277
278 $retValue .= array_key_exists( 'name', $treenode ) ? $treenode['name'] : '';
279 }
280 return $retValue;
281 }
282 }
283 return null;
284
285 }
286
287 function modifier()
288 {
289 if ( isset( $this->ModifierID ) and $this->ModifierID )
290 {
291 return eZUser::fetch( $this->ModifierID );
292 }
293 return null;
294 }
295
306 function rssXmlContent()
307 {
308 try
309 {
310 switch ( $this->attribute( 'rss_version' ) )
311 {
312 case '1.0':
313 {
314 return $this->generateFeed( 'rss1' );
315 } break;
316
317 case '2.0':
318 {
319 return $this->generateFeed( 'rss2' );
320 } break;
321
322 case 'ATOM':
323 {
324 return $this->generateFeed( 'atom' );
325 } break;
326
327 default:
328 {
329 return null;
330 } break;
331 }
332 }
333 catch ( ezcFeedException $e )
334 {
335 return '<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang=""><title>The RSS feed you were trying to access contains some errors and cannot be generated: ' . $e->getMessage() . ' Please contact the webmaster.</title></feed>';
336 }
337
338 return null;
339 }
340
348 function fetchItems( $id = false, $status = eZRSSExport::STATUS_VALID )
349 {
350 if ( $id === false )
351 {
352 if ( isset( $this ) )
353 {
354 $id = $this->ID;
355 $status = $this->Status;
356 }
357 else
358 {
359 $itemList = null;
360 return $itemList;
361 }
362 }
363 if ( $id !== null )
364 $itemList = eZRSSExportItem::fetchFilteredList( array( 'rssexport_id' => $id, 'status' => $status ) );
365 else
366 $itemList = null;
367 return $itemList;
368 }
369
370 function getObjectListFilter()
371 {
372 if ( $this->MainNodeOnly == 1 )
373 {
374 $this->MainNodeOnly = true;
375 }
376 else
377 {
378 $this->MainNodeOnly = false;
379 }
380
381 return array( 'number_of_objects' => intval($this->NumberOfObjects),
382 'main_node_only' => $this->MainNodeOnly
383 );
384 }
385
397 function generateFeed( $type )
398 {
399 $locale = eZLocale::instance();
400
401 // Get URL Translation settings.
402 $config = eZINI::instance();
403 if ( $config->variable( 'URLTranslator', 'Translation' ) == 'enabled' )
404 {
405 $useURLAlias = true;
406 }
407 else
408 {
409 $useURLAlias = false;
410 }
411
412 if ( $this->attribute( 'url' ) == '' )
413 {
414 $baseItemURL = '';
415 eZURI::transformURI( $baseItemURL, false, 'full' );
416 $baseItemURL .= '/';
417 }
418 else
419 {
420 $baseItemURL = $this->attribute( 'url' ) . '/'; //.$this->attribute( 'site_access' ).'/';
421 }
422
423 $feed = new ezcFeed();
424
425 $feed->title = htmlspecialchars(
426 $this->attribute( 'title' ), ENT_NOQUOTES, 'UTF-8'
427 );
428
429 $link = $feed->add( 'link' );
430 $link->href = htmlspecialchars( $baseItemURL, ENT_NOQUOTES, 'UTF-8' );
431
432 $feed->description = htmlspecialchars(
433 $this->attribute( 'description' ), ENT_NOQUOTES, 'UTF-8'
434 );
435 $feed->language = $locale->httpLocaleCode();
436
437 // to add the <atom:link> element needed for RSS2
438 $feed->id = htmlspecialchars(
439 $baseItemURL . 'rss/feed/' . $this->attribute( 'access_url' ),
440 ENT_NOQUOTES, 'UTF-8'
441 );
442
443 // required for ATOM
444 $feed->updated = time();
445 $author = $feed->add( 'author' );
446 $author->email = htmlspecialchars(
447 $config->variable( 'MailSettings', 'AdminEmail' ),
448 ENT_NOQUOTES, 'UTF-8'
449 );
450 $creatorObject = eZContentObject::fetch( $this->attribute( 'creator_id' ) );
451 if ( $creatorObject instanceof eZContentObject )
452 {
453 $author->name = htmlspecialchars(
454 $creatorObject->attribute('name'), ENT_NOQUOTES, 'UTF-8'
455 );
456 }
457
458 $imageURL = $this->fetchImageURL();
459 if ( $imageURL !== false )
460 {
461 $imageURL = htmlspecialchars( $imageURL, ENT_NOQUOTES, 'UTF-8' );
462 $image = $feed->add( 'image' );
463
464 // Required for RSS1
465 $image->about = $imageURL;
466
467 $image->url = $imageURL;
468 $image->title = htmlspecialchars(
469 $this->attribute( 'title' ), ENT_NOQUOTES, 'UTF-8'
470 );
471 $image->link = $link->href;
472 }
473
474 $cond = array(
475 'rssexport_id' => $this->ID,
476 'status' => $this->Status
477 );
478 $rssSources = eZRSSExportItem::fetchFilteredList( $cond );
479
480 $nodeArray = eZRSSExportItem::fetchNodeList( $rssSources, $this->getObjectListFilter() );
481
482 if ( is_array( $nodeArray ) && count( $nodeArray ) )
483 {
484 $attributeMappings = eZRSSExportItem::getAttributeMappings( $rssSources );
485
486 foreach ( $nodeArray as $node )
487 {
488 if ( $node->attribute('is_hidden') && !eZContentObjectTreeNode::showInvisibleNodes() )
489 {
490 // if the node is hidden skip past it and don't add it to the RSS export
491 continue;
492 }
493 $object = $node->attribute( 'object' );
494 $dataMap = $object->dataMap();
495 if ( $useURLAlias === true )
496 {
497 $nodeURL = $this->urlEncodePath( $baseItemURL . $node->urlAlias() );
498 }
499 else
500 {
501 $nodeURL = $baseItemURL . 'content/view/full/' . $node->attribute( 'node_id' );
502 }
503
504 // keep track if there's any match
505 $doesMatch = false;
506 // start mapping the class attribute to the respective RSS field
507 foreach ( $attributeMappings as $attributeMapping )
508 {
509 // search for correct mapping by path
510 if ( $attributeMapping[0]->attribute( 'class_id' ) == $object->attribute( 'contentclass_id' ) and
511 in_array( $attributeMapping[0]->attribute( 'source_node_id' ), $node->attribute( 'path_array' ) ) )
512 {
513 // found it
514 $doesMatch = true;
515 // now fetch the attributes
516 $title = $dataMap[$attributeMapping[0]->attribute( 'title' )];
517 // description is optional
518 $descAttributeIdentifier = $attributeMapping[0]->attribute( 'description' );
519 $description = $descAttributeIdentifier ? $dataMap[$descAttributeIdentifier] : false;
520 // category is optional
521 $catAttributeIdentifier = $attributeMapping[0]->attribute( 'category' );
522 $category = $catAttributeIdentifier ? $dataMap[$catAttributeIdentifier] : false;
523 // enclosure is optional
524 $enclosureAttributeIdentifier = $attributeMapping[0]->attribute( 'enclosure' );
525 $enclosure = $enclosureAttributeIdentifier ? $dataMap[$enclosureAttributeIdentifier] : false;
526 break;
527 }
528 }
529
530 if( !$doesMatch )
531 {
532 // no match
533 eZDebug::writeError( 'Cannot find matching RSS attributes for datamap on node: ' . $node->attribute( 'node_id' ), __METHOD__ );
534 return null;
535 }
536
537 // title RSS element with respective class attribute content
538 $titleContent = $title->attribute( 'content' );
539 if ( $titleContent instanceof eZXMLText )
540 {
541 $outputHandler = $titleContent->attribute( 'output' );
542 $itemTitleText = $outputHandler->attribute( 'output_text' );
543 }
544 else
545 {
546 $itemTitleText = $titleContent;
547 }
548
549 $item = $feed->add( 'item' );
550
551 $item->title = htmlspecialchars( $itemTitleText, ENT_NOQUOTES, 'UTF-8' );
552
553 $link = $item->add( 'link' );
554 $link->href = htmlspecialchars( $nodeURL, ENT_NOQUOTES, 'UTF-8' );
555
556 switch ( $type )
557 {
558 case 'rss2':
559 $item->id = $object->attribute( 'remote_id' );
560 $item->id->isPermaLink = false;
561 break;
562 default:
563 $item->id = $nodeURL;
564 }
565
566 $itemCreatorObject = $node->attribute('creator');
567 if ( $itemCreatorObject instanceof eZContentObject )
568 {
569 $author = $item->add( 'author' );
570 $author->name = htmlspecialchars(
571 $itemCreatorObject->attribute('name'), ENT_NOQUOTES, 'UTF-8'
572 );
573 $author->email = $config->variable( 'MailSettings', 'AdminEmail' );
574 }
575
576 // description RSS element with respective class attribute content
577 if ( $description )
578 {
579 $descContent = $description->attribute( 'content' );
580 if ( $descContent instanceof eZXMLText )
581 {
582 $outputHandler = $descContent->attribute( 'output' );
583 $itemDescriptionText = htmlspecialchars(
584 $outputHandler->attribute( 'output_text' ), ENT_NOQUOTES, 'UTF-8'
585 );
586 }
587 else if ( $descContent instanceof eZImageAliasHandler )
588 {
589 $itemImage = $descContent->hasAttribute( 'rssitem' ) ? $descContent->attribute( 'rssitem' ) : $descContent->attribute( 'rss' );
590 $origImage = $descContent->attribute( 'original' );
591 eZURI::transformURI( $itemImage['full_path'], true, 'full' );
592 eZURI::transformURI( $origImage['full_path'], true, 'full' );
593 $itemDescriptionText = '&lt;a href="' . htmlspecialchars( $origImage['full_path'] )
594 . '"&gt;&lt;img alt="' . htmlspecialchars( $descContent->attribute( 'alternative_text' ) )
595 . '" src="' . htmlspecialchars( $itemImage['full_path'] )
596 . '" width="' . $itemImage['width']
597 . '" height="' . $itemImage['height']
598 . '" /&gt;&lt;/a&gt;';
599 }
600 else
601 {
602 $itemDescriptionText = htmlspecialchars(
603 $descContent, ENT_NOQUOTES, 'UTF-8'
604 );
605 }
606 $item->description = $itemDescriptionText;
607 }
608
609 // category RSS element with respective class attribute content
610 if ( $category )
611 {
612 $categoryContent = $category->attribute( 'content' );
613 if ( $categoryContent instanceof eZXMLText )
614 {
615 $outputHandler = $categoryContent->attribute( 'output' );
616 $itemCategoryText = $outputHandler->attribute( 'output_text' );
617 }
618 elseif ( $categoryContent instanceof eZKeyword )
619 {
620 $itemCategoryText = $categoryContent->keywordString();
621 }
622 else
623 {
624 $itemCategoryText = $categoryContent;
625 }
626
627 if ( $itemCategoryText )
628 {
629 $cat = $item->add( 'category' );
630 $cat->term = htmlspecialchars(
631 $itemCategoryText, ENT_NOQUOTES, 'UTF-8'
632 );
633 }
634 }
635
636 // enclosure RSS element with respective class attribute content
637 if ( $enclosure )
638 {
639 $encItemURL = false;
640 $enclosureContent = $enclosure->attribute( 'content' );
641 if ( $enclosureContent instanceof eZMedia )
642 {
643 $enc = $item->add( 'enclosure' );
644 $enc->length = $enclosureContent->attribute('filesize');
645 $enc->type = $enclosureContent->attribute('mime_type');
646 $encItemURL = 'content/download/' . $enclosure->attribute('contentobject_id')
647 . '/' . $enclosureContent->attribute( 'contentobject_attribute_id' )
648 . '/' . urlencode( $enclosureContent->attribute( 'original_filename' ) );
649 eZURI::transformURI( $encItemURL, false, 'full' );
650 }
651 else if ( $enclosureContent instanceof eZBinaryFile )
652 {
653 $enc = $item->add( 'enclosure' );
654 $enc->length = $enclosureContent->attribute('filesize');
655 $enc->type = $enclosureContent->attribute('mime_type');
656 $encItemURL = 'content/download/' . $enclosure->attribute('contentobject_id')
657 . '/' . $enclosureContent->attribute( 'contentobject_attribute_id' )
658 . '/version/' . $enclosureContent->attribute( 'version' )
659 . '/file/' . urlencode( $enclosureContent->attribute( 'original_filename' ) );
660 eZURI::transformURI( $encItemURL, false, 'full' );
661 }
662 else if ( $enclosureContent instanceof eZImageAliasHandler )
663 {
664 $enc = $item->add( 'enclosure' );
665 $origImage = $enclosureContent->attribute( 'original' );
666 $enc->length = $origImage['filesize'];
667 $enc->type = $origImage['mime_type'];
668 $encItemURL = $origImage['full_path'];
669 eZURI::transformURI( $encItemURL, true, 'full' );
670 }
671
672 if ( $encItemURL )
673 {
674 $enc->url = htmlspecialchars( $encItemURL, ENT_NOQUOTES, 'UTF-8' );
675 }
676 }
677
678 $item->published = $object->attribute( 'published' );
679 $item->updated = $object->attribute( 'published' );
680 }
681 }
682 return $feed->generate( $type );
683 }
684
692 function fetchImageURL()
693 {
694
695 $imageNode = $this->attribute( 'image_node' );
696 if ( !$imageNode )
697 return false;
698
699 $imageObject = $imageNode->attribute( 'object' );
700 if ( !$imageObject )
701 return false;
702
703 $dataMap = $imageObject->attribute( 'data_map' );
704 if ( !$dataMap )
705 return false;
706
707 $imageAttribute = $dataMap['image'];
708 if ( !$imageAttribute )
709 return false;
710
711 $imageHandler = $imageAttribute->attribute( 'content' );
712 if ( !$imageHandler )
713 return false;
714
715 $imageAlias = $imageHandler->imageAlias( 'rss' );
716 if( !$imageAlias )
717 return false;
718
719 $url = eZSys::hostname() . eZSys::wwwDir() .'/'. $imageAlias['url'];
720 $url = preg_replace( "#^(//)#", "/", $url );
721
722 return 'http://'.$url;
723 }
724
732 function urlEncodePath( $url )
733 {
734 // Raw encode the path part of the URL
735 $urlComponents = parse_url( $url );
736 $pathParts = explode( '/', $urlComponents['path'] );
737 foreach ( $pathParts as $key => $pathPart )
738 {
739 $pathParts[$key] = rawurlencode( $pathPart );
740 }
741 $encodedPath = implode( '/', $pathParts );
742
743 // Rebuild the URL again, like this: scheme://user:pass@host/path?query#fragment
744 $encodedUrl = $urlComponents['scheme'] . '://';
745
746 if ( isset( $urlComponents['user'] ) )
747 {
748 $encodedUrl .= $urlComponents['user'];
749 if ( isset( $urlComponents['pass'] ) )
750 {
751 $encodedUrl .= ':' . $urlComponents['pass'];
752 }
753 $encodedUrl .= '@';
754 }
755
756 $encodedUrl .= $urlComponents['host'];
757 if ( isset( $urlComponents['port'] ) )
758 {
759 $encodedUrl .= ':' . $urlComponents['port'];
760 }
761 $encodedUrl .= $encodedPath;
762
763 if ( isset( $urlComponents['query'] ) )
764 {
765 $encodedUrl .= '?' . $urlComponents['query'];
766 }
767
768 if ( isset( $urlComponents['fragment'] ) )
769 {
770 $encodedUrl .= '#' . $urlComponents['fragment'];
771 }
772
773 return $encodedUrl;
774 }
775 }
776 ?>
eZBinaryFile
The class eZBinaryFile handles registered binaryfiles.
Definition: ezbinaryfile.php:19
eZContentObjectTreeNode\fetch
static fetch( $nodeID=false, $lang=false, $asObject=true, $conditions=false)
Definition: ezcontentobjecttreenode.php:3058
eZContentObjectTreeNode\showInvisibleNodes
static showInvisibleNodes()
Definition: ezcontentobjecttreenode.php:1877
eZContentObject
Definition: ezcontentobject.php:17
eZContentObject\fetch
static fetch( $id, $asObject=true)
Definition: ezcontentobject.php:885
eZDB\instance
static instance( $databaseImplementation=false, $databaseParameters=false, $forceNewInstance=false)
Definition: ezdb.php:117
eZDebug\writeError
static writeError( $string, $label="", $backgroundClass="")
Definition: ezdebug.php:545
eZImageAliasHandler
Internal manager for the eZImage datatype.
Definition: ezimagealiashandler.php:28
eZKeyword
A content datatype which handles keyword index instances.
Definition: ezkeyword.php:19
eZLocale\instance
static instance( $localeString=false)
Definition: ezlocale.php:1536
eZMedia
The class eZMedia handles registered media files.
Definition: ezmedia.php:19
eZPersistentObject
Definition: ezpersistentobject.php:33
eZPersistentObject\fetchObject
static fetchObject( $def, $field_filters, $conds, $asObject=true, $grouping=null, $custom_fields=null)
Definition: ezpersistentobject.php:213
eZPersistentObject\$Status
$Status
Definition: ezpersistentobject.php:1456
eZPersistentObject\$ID
$ID
Definition: ezpersistentobject.php:1448
eZPersistentObject\setAttribute
setAttribute( $attr, $val)
Definition: ezpersistentobject.php:1374
eZPersistentObject\count
static count( $def, $conds=null, $field=null)
Definition: ezpersistentobject.php:187
eZPersistentObject\attribute
attribute( $attr, $noFunction=false)
Definition: ezpersistentobject.php:1329
eZPersistentObject\fetchObjectList
static fetchObjectList( $def, $field_filters=null, $conds=null, $sorts=null, $limit=null, $asObject=true, $grouping=false, $custom_fields=null, $custom_tables=null, $custom_conds=null)
Definition: ezpersistentobject.php:806
eZRSSExportItem\getAttributeMappings
static getAttributeMappings( $rssSources)
Definition: ezrssexportitem.php:190
eZRSSExportItem\fetchNodeList
static fetchNodeList( $rssSources, $objectListFilter)
Definition: ezrssexportitem.php:224
eZRSSExportItem\fetchFilteredList
static fetchFilteredList( $cond, $asObject=true, $status=eZRSSExport::STATUS_VALID)
Definition: ezrssexportitem.php:182
eZRSSExport
Handles RSS Export in eZ Publish.
Definition: ezrssexport.php:19
eZRSSExport\fetchList
static fetchList( $asObject=true)
Definition: ezrssexport.php:239
eZRSSExport\fetchItems
fetchItems( $id=false, $status=eZRSSExport::STATUS_VALID)
Definition: ezrssexport.php:348
eZRSSExport\STATUS_VALID
const STATUS_VALID
Definition: ezrssexport.php:33
eZRSSExport\rssXmlContent
rssXmlContent()
Definition: ezrssexport.php:306
eZRSSExport\removeThis
removeThis()
Definition: ezrssexport.php:190
eZRSSExport\store
store( $storeAsValid=false)
Definition: ezrssexport.php:158
eZRSSExport\$URL
$URL
Definition: ezrssexport.php:25
eZRSSExport\fetchImageURL
fetchImageURL()
Definition: ezrssexport.php:692
eZRSSExport\imageNode
imageNode()
Definition: ezrssexport.php:251
eZRSSExport\modifier
modifier()
Definition: ezrssexport.php:287
eZRSSExport\$RSSVersion
$RSSVersion
Definition: ezrssexport.php:29
eZRSSExport\imagePath
imagePath()
Definition: ezrssexport.php:260
eZRSSExport\$AccessURL
$AccessURL
Definition: ezrssexport.php:30
eZRSSExport\$Active
$Active
Definition: ezrssexport.php:31
eZRSSExport\$SiteAccess
$SiteAccess
Definition: ezrssexport.php:26
eZRSSExport\$CreatorID
$CreatorID
Definition: ezrssexport.php:27
eZRSSExport\itemList
itemList()
Definition: ezrssexport.php:246
eZRSSExport\generateFeed
generateFeed( $type)
Definition: ezrssexport.php:397
eZRSSExport\$Title
$Title
Definition: ezrssexport.php:24
eZRSSExport\$Description
$Description
Definition: ezrssexport.php:28
eZRSSExport\STATUS_DRAFT
const STATUS_DRAFT
Definition: ezrssexport.php:34
eZRSSExport\$NumberOfObjects
$NumberOfObjects
Definition: ezrssexport.php:23
eZRSSExport\$ModifierID
$ModifierID
Definition: ezrssexport.php:21
eZRSSExport\urlEncodePath
urlEncodePath( $url)
Definition: ezrssexport.php:732
eZRSSExport\create
static create( $user_id)
Definition: ezrssexport.php:132
eZRSSExport\definition
static definition()
Definition: ezrssexport.php:36
eZRSSExport\$ImageID
$ImageID
Definition: ezrssexport.php:20
eZRSSExport\fetch
static fetch( $id, $asObject=true, $status=eZRSSExport::STATUS_VALID)
Definition: ezrssexport.php:210
eZRSSExport\fetchByName
static fetchByName( $access_url, $asObject=true)
Definition: ezrssexport.php:225
eZRSSExport\getObjectListFilter
getObjectListFilter()
Definition: ezrssexport.php:370
eZRSSExport\$MainNodeOnly
$MainNodeOnly
Definition: ezrssexport.php:22
eZSys\hostname
static hostname()
Definition: ezsys.php:676
eZSys\wwwDir
static wwwDir()
Definition: ezsys.php:582
eZURI\transformURI
static transformURI(&$href, $ignoreIndexDir=false, $serverURL=null, $htmlEscape=true)
Definition: ezuri.php:599
eZUser\fetch
static fetch( $id, $asObject=true)
Definition: ezuser.php:351
eZUser\currentUser
static currentUser()
Definition: ezuser.php:1716
eZXMLText
The class eZXMLText handles XML text data type instances.
Definition: ezxmltext.php:19
ezpI18n\tr
static tr( $context, $source, $comment=null, $arguments=null)
Definition: ezpi18n.php:86
Copyright © 1998 – 2026 7x. All rights reserved. Licensed under the GNU GPLv2+.