24include_once(
"./Services/Block/classes/class.ilBlockGUI.php");
 
   25include_once(
"./Services/Block/classes/class.ilExternalFeedBlockGUIGen.php");
 
   26include_once(
"./Services/Feeds/classes/class.ilExternalFeed.php");
 
   55        $this->ctrl = 
$DIC->ctrl();
 
   56        $this->lng = 
$DIC->language();
 
   57        $this->
user = $DIC->user();
 
   58        $this->access = 
$DIC->access();
 
   62        parent::__construct();
 
   64        $lng->loadLanguageModule(
"feed");
 
   67        $this->
setRowTemplate(
"tpl.block_external_feed_row.html", 
"Services/Feeds");
 
   99            case "updateFeedBlock":
 
  100            case "editFeedBlock":
 
  102            case "confirmDeleteFeedBlock":
 
  120        $this->feed_block = $a_block;
 
  121        $this->
setTitle($this->feed_block->getTitle());
 
  122        $this->
setBlockId($this->feed_block->getId());
 
  125        include_once(
"./Services/Feeds/classes/class.ilExternalFeed.php");
 
  127        $this->feed->setUrl($this->feed_block->getFeedUrl());
 
  132        $ilCtrl->setParameter($this, 
"block_id", $this->feed_block->getId());
 
  142        $next_class = 
$ilCtrl->getNextClass();
 
  143        $cmd = 
$ilCtrl->getCmd(
"getHTML");
 
  145        switch ($next_class) {
 
  147                return $this->$cmd();
 
  159            parent::fillDataSection();
 
  176        if (
$ilSetting->get(
"block_limit_pdfeed") == 0) {
 
  187            $this->feed->fetch();
 
  188            $this->
setData($this->feed->getItems());
 
  193            "external_feed_block_id",
 
  206                "confirmDeleteFeedBlock" 
  210        $ilCtrl->setParameter($this, 
"external_feed_block_id", 
"");
 
  215            (
$ilUser->getPref(
"il_feed_js") == 
"n" && 
$_SESSION[
"il_feed_js"] != 
"y")) {
 
  219        return parent::getHTML() . $add;
 
  227        if (
$ilCtrl->getCmdClass() != 
"ilcolumngui" && 
$ilCtrl->getCmd() != 
"enableJS") {
 
  232            if ($sess_feed_js != 
"n" &&
 
  233                (
$ilUser->getPref(
"il_feed_js") != 
"n" || $sess_feed_js == 
"y")) {
 
  235                if (!$this->feed->checkCacheHit()) {
 
  255        $rel_tpl = 
new ilTemplate(
"tpl.dynamic_reload.html", 
true, 
true, 
"Services/Feeds");
 
  256        $rel_tpl->setVariable(
"TXT_LOADING", 
$lng->txt(
"feed_loading_feed"));
 
  257        $rel_tpl->setVariable(
"BLOCK_ID", 
"block_pdfeed_" . $this->
getBlockId());
 
  258        $rel_tpl->setVariable(
 
  260            $ilCtrl->getLinkTargetByClass(
"ilcolumngui", 
"updateBlock", 
"", 
true)
 
  264        $rel_tpl->setVariable(
"TXT_FEED_CLICK_HERE", 
$lng->txt(
"feed_no_js_click_here"));
 
  265        $rel_tpl->setVariable(
 
  267            $ilCtrl->getLinkTargetByClass(
"ilpdexternalfeedblockgui", 
"disableJS")
 
  270        return $rel_tpl->get();
 
  283        $rel_tpl = 
new ilTemplate(
"tpl.js_enabler.html", 
true, 
true, 
"Services/Feeds");
 
  284        $rel_tpl->setVariable(
"BLOCK_ID", 
"block_pdfeed_" . $this->
getBlockId());
 
  285        $rel_tpl->setVariable(
 
  287            $ilCtrl->getLinkTargetByClass(
"ilpdexternalfeedblockgui", 
"enableJS", 
true)
 
  290        return $rel_tpl->get();
 
  300        $ilUser->writePref(
"il_feed_js", 
"n");
 
  301        $ilCtrl->redirectByClass(
"ilpersonaldesktopgui", 
"show");
 
  309        $ilUser->writePref(
"il_feed_js", 
"y");
 
  321        $ilCtrl->setParameter($this, 
"feed_item_id", $item->getId());
 
  322        $this->tpl->setVariable(
"VAL_TITLE", $item->getTitle());
 
  323        $this->tpl->setVariable(
 
  325            $ilCtrl->getLinkTarget($this, 
"showFeedItem")
 
  327        $ilCtrl->setParameter($this, 
"feed_item_id", 
"");
 
  338        return '<div class="small">' . ((int) count($this->
getData())) . 
" " . 
$lng->txt(
"feed_feed_items") . 
"</div>";
 
  349        include_once(
"./Services/News/classes/class.ilNewsItem.php");
 
  351        $this->feed->fetch();
 
  352        foreach ($this->feed->getItems() as $item) {
 
  353            if ($item->getId() == 
$_GET[
"feed_item_id"]) {
 
  359        $tpl = 
new ilTemplate(
"tpl.show_feed_item.html", 
true, 
true, 
"Services/Feeds");
 
  361        if (is_object($c_item)) {
 
  362            if (trim($c_item->getSummary()) != 
"") {            
 
  363                $tpl->setCurrentBlock(
"content");
 
  364                $tpl->setVariable(
"VAL_CONTENT", $c_item->getSummary());
 
  365                $tpl->parseCurrentBlock();
 
  367            if (trim($c_item->getDate()) != 
"" || trim($c_item->getAuthor()) != 
"") {           
 
  368                $tpl->setCurrentBlock(
"date_author");
 
  369                if (trim($c_item->getAuthor()) != 
"") {
 
  370                    $tpl->setVariable(
"VAL_AUTHOR", $c_item->getAuthor() . 
" - ");
 
  372                $tpl->setVariable(
"VAL_DATE", $c_item->getDate());
 
  373                $tpl->parseCurrentBlock();
 
  376            if (trim($c_item->getLink()) != 
"") {               
 
  377                $tpl->setCurrentBlock(
"plink");
 
  378                $tpl->setVariable(
"HREF_LINK", $c_item->getLink());
 
  379                $tpl->setVariable(
"TXT_LINK", 
$lng->txt(
"feed_open_source_page"));
 
  380                $tpl->parseCurrentBlock();
 
  382            $tpl->setVariable(
"VAL_TITLE", $c_item->getTitle());                        
 
  385        include_once(
"./Services/PersonalDesktop/classes/class.ilPDContentBlockGUI.php");
 
  387        $content_block->setContent(
$tpl->get());
 
  388        $content_block->setTitle($this->
getTitle());
 
  390        $content_block->addHeaderCommand(
 
  391            $ilCtrl->getParentReturn($this),
 
  392            $lng->txt(
"selected_items_back")
 
  395        return $content_block->getHTML();
 
  416        $lng->loadLanguageModule(
"block");
 
  418        require_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  424        $text_input->setInfo(
"");
 
  425        $text_input->setRequired(
true);
 
  426        $text_input->setMaxLength(200);
 
  427        $this->form_gui->addItem($text_input);
 
  431        $text_input->setInfo(
$lng->txt(
"block_feed_block_feed_url_info"));
 
  432        $text_input->setRequired(
true);
 
  433        $text_input->setMaxLength(250);
 
  434        $this->form_gui->addItem($text_input);
 
  439            $this->form_gui->addCommandButton(
"saveFeedBlock", 
$lng->txt(
"save"));
 
  440            $this->form_gui->addCommandButton(
"cancelSaveFeedBlock", 
$lng->txt(
"cancel"));
 
  442            $this->form_gui->addCommandButton(
"updateFeedBlock", 
$lng->txt(
"save"));
 
  443            $this->form_gui->addCommandButton(
"cancelUpdateFeedBlock", 
$lng->txt(
"cancel"));
 
  446        $this->form_gui->setTitle(
$lng->txt(
"block_feed_block_head"));
 
  447        $this->form_gui->setFormAction($this->ctrl->getFormAction($this));
 
  461        $a_feed_block->setContextObjId(
$ilCtrl->getContextObjId());
 
  462        $a_feed_block->setContextObjType(
$ilCtrl->getContextObjType());
 
  463        $a_feed_block->setType(
"pdfeed");
 
  474        include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  478        $c_gui->setFormAction(
$ilCtrl->getFormAction($this, 
"deleteFeedBlock"));
 
  479        $c_gui->setHeaderText(
$lng->txt(
"info_delete_sure"));
 
  480        $c_gui->setCancel(
$lng->txt(
"cancel"), 
"exitDeleteFeedBlock");
 
  481        $c_gui->setConfirm(
$lng->txt(
"confirm"), 
"deleteFeedBlock");
 
  485            "external_feed_block_id",
 
  486            $this->feed_block->getId(),
 
  487            $this->feed_block->getTitle(),
 
  491        return $c_gui->getHTML();
 
  501        $ilCtrl->returnToParent($this);
 
  511        $this->feed_block->delete();
 
  512        $ilCtrl->returnToParent($this);
 
An exception for terminatinating execution or to throw for unit testing.
setRowTemplate($a_rowtemplatename, $a_rowtemplatedir="")
Set Row Template Name.
setLimit($a_limit)
Set Limit.
getCurrentDetailLevel()
Get Current Detail Level.
getBlockId()
Get Block Id.
setAvailableDetailLevels($a_max, $a_min=0)
Set Available Detail Levels.
setData($a_data)
Set Data.
setDataSection($a_content)
Call this from overwritten fillDataSection(), if standard row based data is not used.
setTitle($a_title)
Set Title.
setBlockId($a_block_id=0)
Set Block Id.
setEnableNumInfo($a_enablenuminfo)
Set Enable Item Number Info.
addBlockCommand( $a_href, $a_text, $a_target="", $a_img="", $a_right_aligned=false, $a_checked=false, $a_html="")
Add Block Command.
Confirmation screen class.
GUI class for external news feed custom block.
createFeedBlock()
FORM FeedBlock: Create ExternalFeedBlock.
prepareFormFeedBlock(&$a_form_gui)
FORM FeedBlock: Prepare form.
Handles external Feeds via Magpie library.
BlockGUI class for (centered) Content on Personal Desktop.
BlockGUI class for external feed block on the personal desktop.
setBlock($a_block)
Do most of the initialisation.
isRepositoryObject()
Returns whether block has a corresponding repository object.bool
showFeedItem()
Show Feed Item.
static getScreenMode()
Get Screen Mode for current command.
getOverview()
Get overview.
getHTML()
Get block HTML code.
create()
Create Form for Block.
initFormFeedBlock($a_mode)
FORM FeedBlock: Init form.
__construct()
Constructor.
exitDeleteFeedBlock()
Cancel deletion of feed block.
fillRow($item)
Fill feed item row.
deleteFeedBlock()
Delete feed block.
executeCommand()
execute command
confirmDeleteFeedBlock()
Confirmation of feed block deletion.
fillDataSection()
Fill data section.
prepareSaveFeedBlock(&$a_feed_block)
FORM FeedBlock: Prepare Saving of FeedBlock.
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)