* @todo Completely unimplemented
*/
public function flushContent () {
- // Needed to be implemented!
+ // Is a previous opened group still open?
+ if ($this->ifGroupOpenedPreviously()) {
+ // Then close it
+ $this->closePreviousGroupByContent("</div>");
+ } // END - if
+
+ // Get the content
+ $content = $this->renderContent();
+
+ // Get template engine
+ $templateInstance = $this->getTemplateInstance();
+
+ // Add content to variable
+ $templateInstance->assignVariable($this->getLinkName(), $content);
}
/**
// Is a group with that name open?
if ($this->ifGroupIsOpened($groupId)) {
// Then close it here
- $this->closeGroupById($groupId);
+ $this->closePreviousGroupByContent("</div>");
} else {
+ // Is a previous opened group still open?
+ if ($this->ifGroupOpenedPreviously()) {
+ // Then close it
+ $this->closePreviousGroupByContent("</div>");
+ } // END - if
+
+ // Generate the group content
+ $content = sprintf("<div id=\"group_%s_%s\">%s",
+ $this->getLinkName(),
+ $groupId,
+ $groupText
+ );
+
// Open the new group
- $this->openGroupByIdContent($groupId, $groupText);
+ $this->openGroupByIdContent($groupId, $content);
}
}
* @param $groupNote Note to be added to a group
* @return void
* @throws NoGroupOpenedException If no previous group was opened
- * @todo Implement adding the note to the previously opened group or sub group
*/
public function addLinkNote ($groupNote) {
// Check if a previous group was opened
if (!$this->ifGroupOpenedPreviously()) {
// No group was opened before!
throw new NoGroupOpenedException(array($this, $groupNote), self::EXCEPTION_GROUP_NOT_OPENED);
+ } // END - if
+
+ // Add the content to the previous group
+ $this->addContentToPreviousGroup($groupNote);
+ }
+
+ /**
+ * Adds a link to the previously opened group or throws an exception if no group has been opened
+ *
+ * @param $linkAction Action (action=xxx) value for the link
+ * @param $linkText Link text and title (title="xxx") for the link
+ * @return void
+ * @throws NoGroupOpenedException If no previous group was opened
+ */
+ public function addActionLink ($linkAction, $linkText) {
+ // Check if a previous group was opened
+ if (!$this->ifGroupOpenedPreviously()) {
+ // No group was opened before!
+ throw new NoGroupOpenedException(array($this, $groupNote), self::EXCEPTION_GROUP_NOT_OPENED);
+ } // END - if
+
+ // Default parameter seperator is &
+ $seperator = "&";
+
+ // Get link base
+ $linkBase = $this->getLinkBase();
+
+ // Is there a question mark in?
+ $linkArray = explode("?", $linkBase);
+ if (count($linkArray) == 0) {
+ // No question mark
+ $seperator = "?";
}
- // Not fully implemented!
- $this->partialStub();
+ // Renders the link content
+ $linkContent = sprintf("<a href=\"%s%saction=%s\" title=\"%s\">%s</a>",
+ $linkBase,
+ $seperator,
+ $linkAction,
+ $linkText,
+ $linkText
+ );
+
+ // Add the content to the previous group
+ $this->addContentToPreviousGroup($linkContent);
}
}