CMS  Version 3.9
ConnectableNavigator Class Reference

Public Member Functions

 __construct ($id, $title, $source, $handler)
 
 createPanel ()
 
 writeScript ()
 
 drawTarget ($target)
 
 drawNavigator ()
 
 draw ()
 

Public Attributes

 $id
 
 $title
 
 $source
 
 $panel
 
 $handler
 
 $enabled = true
 

Detailed Description

Definition at line 9 of file connectable_navigator.inc.

Constructor & Destructor Documentation

◆ __construct()

ConnectableNavigator::__construct (   $id,
  $title,
  $source,
  $handler 
)

Definition at line 18 of file connectable_navigator.inc.

19  {
20  $this->id = $id;
21  $this->title = $title;
22  $this->source = $source;
23  $this->handler = $handler;
24  $this->createPanel();
25  }
$bookmark title

Member Function Documentation

◆ createPanel()

ConnectableNavigator::createPanel ( )

Definition at line 27 of file connectable_navigator.inc.

28  {
29  $url = $this->handler."?".($this->source->getPrimaryKey())."=".($this->source->get($this->source->getPrimaryKey()));
30 
31  trace($url, 3);
32  $this->panel = new Panel($this->id."_panel", $url);
33  }
Panel provides a reloadable panel tied to an action handler.
Definition: panel.inc:51
if(! $blog->published||! $blog->enable_rss_feed||!checkRole($blog->allow_read)) $url
Definition: rss.inc:58

◆ draw()

ConnectableNavigator::draw ( )

Definition at line 125 of file connectable_navigator.inc.

126  {
127  $this->panel->draw();
128  }

◆ drawNavigator()

ConnectableNavigator::drawNavigator ( )

Definition at line 105 of file connectable_navigator.inc.

106  {
108 
109  if (!$this->source->get($this->source->getPrimaryKey())) $this->enabled = false;
110 ?>
111 <div id="<?echo $this->id?>" class="connectable_navigator">
112 <span class="title"><?echo $this->title?></span>
113 <ul>
114 <?
115  foreach($targets as $target)
116  {
117  $this->drawTarget($target);
118  }
119 ?>
120 </ul>
121 </div>
122 <?
123  }
static getTargetClasses($sourceItem)
Return an array of connectable target classes for the specified item.
$text enabled

◆ drawTarget()

ConnectableNavigator::drawTarget (   $target)

Definition at line 50 of file connectable_navigator.inc.

51  {
52  trace("Drawing target: $target for source ".get_class($this->source), 3);
53 
54  $obj = new $target;
55  $name = $obj->prettifyClassName(true);
56 
57  if (!$this->enabled)
58  {
59  $icon = $obj->getConnectableDisabledIcon();
60 ?>
61  <li><img src="<?echo $icon?>" alt="<?echo $name?>" title="<?echo $name?>" class="disabled"/>
62 <?
63  return;
64  }
65 
66  $icon = $obj->getConnectableIcon();
67 
68  $items = ConnectableManager::getConnectedItems($this->source, $target, $obj->getConnectableConstraint());
69  $count = count($items);
70 ?>
71  <li><img src="<?echo $icon?>" alt="<?echo $name?>" title="<?echo $name?>" data-count="<?echo $count?>"/>
72  <div>
73  <span class='title'><?echo $name?></span><br/>
74 <?
75  if ($count > 0)
76  {
77  foreach($items as $item)
78  {
79  echo $item->getConnectableLink($this->source)."<br/>";
80  }
81  }
82  else
83  {
84  echo "There are no related $name<br/>";
85  }
86 
87  $from = get_class($this->source).":".$this->source->get($this->source->getPrimaryKey());
88  $createURL = ConnectableManager::$contextRouter . "?from=$from&to=$target";
89  $createHandler = "";
90 
91  if (method_exists($obj, getConnectableCreateHandler))
92  {
93  $createHandler = $obj->getConnectableCreateHandler();
94  $createHandler = " onclick='{$createHandler}(\"{$createURL}\"); return false;'";
95  $createURL = "#";
96  }
97 ?>
98  <br/>
99  <a class='button small' href='#' onclick='ConnectableNavigator.selectConnectables("<?echo $from?>", "<?echo $target?>", "<?echo $name?>"); return false'>Select...</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class='button small' href='<?echo $createURL?>'<?echo $createHandler?>>Create...</a>
100  </div>
101  </li>
102 <?
103  }
& nbsp
Definition: index.inc:49
$name
Definition: upload.inc:54
$icon
Definition: upload.inc:92
static getConnectedItems($sourceItem, $targetClass, $constraint="")
Returns the connected items for the specified source that are of the specified class.

◆ writeScript()

ConnectableNavigator::writeScript ( )

Definition at line 35 of file connectable_navigator.inc.

36  {
37  $script = <<<ENDSCRIPT
38 <script type="text/javascript" src="/components/connectable/js/connectable_navigator.js"></script>
39 <script type="text/javascript">
40 var {$this->id}_ConnectableNavigator;
41 window.addEvent('load', function()
42 {
43  {$this->id}_ConnectableNavigator = new ConnectableNavigator('{$this->id}_panel');
44 });
45 </script>
46 ENDSCRIPT;
47  return $script;
48  }

Member Data Documentation

◆ $enabled

ConnectableNavigator::$enabled = true

Definition at line 16 of file connectable_navigator.inc.

◆ $handler

ConnectableNavigator::$handler

Definition at line 15 of file connectable_navigator.inc.

◆ $id

ConnectableNavigator::$id

Definition at line 11 of file connectable_navigator.inc.

◆ $panel

ConnectableNavigator::$panel

Definition at line 14 of file connectable_navigator.inc.

◆ $source

ConnectableNavigator::$source

Definition at line 13 of file connectable_navigator.inc.

◆ $title

ConnectableNavigator::$title

Definition at line 12 of file connectable_navigator.inc.


The documentation for this class was generated from the following file: