To handle actions YANA provides the function $YANA->handle(), which returns bool(true) on success and bool(false) otherwise.
<?php
global $YANA;
/* call action "foo" */
$bool = $YANA->handle("foo", $parameter);
if ($bool) {
print "The action 'foo' has been executed successfully.";
} else {
print "The call of 'foo' returned an error.";
}
?>
This causes all files in the directory "cache/" to be deleted.
<?php
global $YANA;
/* empty server's template-cache */
$YANA->handle("clear_server_cache", array());
?>
<!-- The following entry in the template is already enough: -->
<textarea id="inputfield" name="text"></textarea>
[%preview%]
Figure: Example of the representation in the Browser
"Micro Summaries" are "active bookmarks", meaning hyper-links, whose text can be dynamically updated when the content of the website changes, to which the link points. The Firefox browser offers Micro Summaries automatically, if the user creates a bookmark of a page that has that feature.
Examples of this would be:
Other variants are of course possible.
Micro Summaries are supported by the Yana Framework. They are created using the utility-class "Micro Summary". Take a look at the following examples:
<?php
/* creating a mirco-summary in your plug-in */
Microsummary::set($this->name, 'link text');
/* Please note:
* The first parameter is an unique id,
* which identifies the entry.
* Here: $this->name is used as id,
* because the name of the plug-in is unique.
* However, it is possible to use any other text.
* For example, when you want to create multiple entries for the
* same plug-in.
*/
/* reading a micro-summary in your plug-in */
$microsummary = Microsummary::get($this->name);
/* publishing a micro-summary in your plug-in,
* so that the browser can find it, when viewing the page
*/
Microsummary::publish($this->name);
/* To open the micro-summary in your browser: */
index.php?action=get_microsummary&target=guestbook
/* For testing, the URL must be copied to your browser.
* The argument "target" names the id of the micro-summary you want to view.
*/
?>
"RSS-Feeds" are electronic, (mostly) automatically generated and updated lists, which may provide various information. A visitor may read these with any "RSS reader" software. Modern browsers already have this functionality built in, so that visitors no longer need additional software.
Examples for RSS-Feeds:
The Yana Framework supports the creation of RSS feeds for your applications. Therefor you can use the prepared classes "RSS" and "RSSitem". The following are some examples.
<?php
/* To create a RSS feed for your plug-in, first create a new function.
(Change the name as you see fit. Note that the name must be unique.) */
function my_rss_feed($ARGS)
{
$rss = new RSS();
// choose a title and description
$rss->title = 'Mike Miller\'s News';
$rss->description = 'this is my RSS feed for my web site';
// add an entry
$item = new RSSitem();
$item->title = 'Entry 1';
$item->link = 'http://any.url';
$item->description = 'A short text, describing the content, or a text excerpt.';
// add the entry to the RSS feed
$rss->addItem($item);
// a 2nd eintry
$item = new RSSitem();
$item->title = 'another item';
$item->link = 'http://any.other.url';
$item->description = '2nd description';
$rss->addItem($item);
// output the RSS feed to the browser
print utf8_encode($rss->toString());
exit(0);
}
/* You can have a link to the RSS feed viewed in the application.
To do so use the function RSS::publish() and the name of the function,
that creates the RSS feed.
Tip: The best place to do this is is the constructor
of your plug-in.*/
function plugin_my_test($name)
{
RSS::publish('my_rss_feed');
// more source code may follow here
}
?>
Thomas Meyer, www.yanaframework.net