CMS  Version 3.9
LinkLibraryManager Class Reference

Provides a central management class for event handlers and common functionality for the link_library component. More...

Public Member Functions

 LinkLibraryManager ()
 
 getTabs ($key)
 

Static Public Member Functions

static setDefaults ()
 
static buildLinkLibraryForm ($library)
 
static deleteLinkLibrary ($library)
 
static upgradeComponent ($version)
 
static deleteUser ($user)
 Respond to fired event DeleteUser. More...
 
static enumerateItems ($items)
 Enumerate the Document objects. More...
 
static displayLibrary ($identifier, &$continue)
 
static registerSearchables ($searchables)
 
static registerTaxonomyClasses ($classes)
 
static registerSerializationHandler ()
 
static formatLink ($link)
 

Detailed Description

Provides a central management class for event handlers and common functionality for the link_library component.

Definition at line 41 of file link_library_manager.inc.

Member Function Documentation

◆ buildLinkLibraryForm()

static LinkLibraryManager::buildLinkLibraryForm (   $library)
static

Definition at line 62 of file link_library_manager.inc.

63  {
64  $form = new AutoForm($library);
65  $form->hide("owner_id", "create_date");
66  $form->required("name", "identifier");
67  $form->allowDelete = true;
68  $form->onDelete = array(LinkLibraryManager, deleteLinkLibrary);
69 
70 
71  $readOnlyAccessList = new CheckListFieldRenderer($form, "read_access", "Allow Read Access", SiteRole::getRolesArray());
72  $writeOnlyAccessList = new CheckListFieldRenderer($form, "write_access", "Create & Delete Links", SiteRole::getRolesArray());
73 
74  return $form;
75  }
$form
if(! $document_library_id) $library
static getRolesArray()
Retrieves the array of roles and their names for the current site for use in a CMS form.
Definition: role.inc:75

◆ deleteLinkLibrary()

static LinkLibraryManager::deleteLinkLibrary (   $library)
static

Definition at line 77 of file link_library_manager.inc.

78  {
79  trace("Deleting Link Library {$library->link_library_id}", 3);
80 
81  $tx = new DataTransaction();
82 
83  try
84  {
85  $library->joinTransaction($tx);
86 
87  $link = new LinkRecord();
88  $link->joinTransaction($tx);
89  $link->delete("WHERE link_library_id={$library->link_library_id}");
90  $library->delete();
91 
92  $tx->commit();
93  }
94  catch(Exception $e)
95  {
96  $tx->rollback();
97  throw $e;
98  }
99 
100  return true;
101  }

◆ deleteUser()

static LinkLibraryManager::deleteUser (   $user)
static

Respond to fired event DeleteUser.

Delete any records in this component that have dependencies on user object.

Parameters
obj$user- class SiteUser or custom user class

Definition at line 116 of file link_library_manager.inc.

117  {
118  $pk = $user->getPrimaryKey();
119  $user_id = $user->$pk;
120 
121  trace("Component link_library is deleting objects dependent on user_id {$user_id}", 3);
122 
123  $tx = new DataTransaction();
124 
125  try
126  {
127  $libraries = Query::create(LinkLibrary, "WHERE owner_id=:owner_id")
128  ->bind(":owner_id", $user_id)
129  ->execute();
130 
131  if(count($libraries))
132  {
133  foreach($libraries as $library)
134  {
135  $library->joinTransaction($tx);
137  }
138  }
139 
140  $record = new LinkRecord();
141  $record->joinTransaction($tx);
142  $record->delete("WHERE owner_id={$user_id}");
143 
144  $tx->commit();
145  }
146  catch(Exception $e)
147  {
148  $tx->rollback();
149  throw $e;
150  }
151 
152  return $user;
153  }
$user_id
global $user

◆ displayLibrary()

static LinkLibraryManager::displayLibrary (   $identifier,
$continue 
)
static

Definition at line 167 of file link_library_manager.inc.

168  {
169  try
170  {
172  $page = ComponentPage::findByIdentifier("link_library", "WHERE enabled=1");
173 
174  $_GET["library"] = $identifier;
175 
176  $pageView = new ComponentPageView($page, "{$page->template}.tpl");
177 
178  $page_role = $page->role;
179 
180  if (!checkRole($page->role))
181  {
183  redirect("/login");
184  }
185 
186  echo $pageView->drawView();
187 
188  $continue = false;
189  }
190  catch(DataNotFoundException $e)
191  {
192 
193  }
194 
195  return $identifier;
196  }
$page
Definition: help.inc:39
static findByIdentifier($identifier, $constraint="")
ComponentPageView generates the page content for a component page, substituting page fields,...
static storeRedirectPage()
Store the page from which a user has been redirected when prompted to login or create an account.
Definition: login.inc:493
$identifier
Definition: rss.inc:37

◆ enumerateItems()

static LinkLibraryManager::enumerateItems (   $items)
static

Enumerate the Document objects.

Parameters
$itemscollection that the Document items are returned in

Definition at line 159 of file link_library_manager.inc.

160  {
161  $libraries = Query::create(LinkLibrary, "WHERE enabled=1 ORDER BY name")->execute();
162 
163  $items["Link Libraries"] = $libraries;
164  return $items;
165  }

◆ formatLink()

static LinkLibraryManager::formatLink (   $link)
static

Definition at line 217 of file link_library_manager.inc.

218  {
219  $url = $link->url;
220 
221  $type = getDocType($url);
222  $icon = getDocIcon($url);
223 
224  return $link->format("<h4>{title}</h4><p>{description}</p><img style='display:inline-block;vertical-align: middle' src='$icon' alt='$type'/> <a href='{url}' target='_blank'>Read More</a>");
225  }
$icon
Definition: upload.inc:92
if(! $blog->published||! $blog->enable_rss_feed||!checkRole($blog->allow_read)) $url
Definition: rss.inc:58

◆ getTabs()

LinkLibraryManager::getTabs (   $key)

Definition at line 53 of file link_library_manager.inc.

54  {
55  $tabs = array("Library Details" => "/admin/link_library_form",
56  "Links" => "/admin/link_library_links");
57 
58  $qs = ($key) ? "link_library_id=$key" : "";
59  return new TabBar("tabs", $tabs, $qs);
60  }
$tabs

◆ LinkLibraryManager()

LinkLibraryManager::LinkLibraryManager ( )

Definition at line 43 of file link_library_manager.inc.

44  {
45 
46  }

◆ registerSearchables()

static LinkLibraryManager::registerSearchables (   $searchables)
static

Definition at line 198 of file link_library_manager.inc.

199  {
200  trace("LinkLibraryManager registerSearchables", 3);
201  $searchables["link_library"] = array(LinkRecord);
202  return $searchables;
203  }

◆ registerSerializationHandler()

static LinkLibraryManager::registerSerializationHandler ( )
static

Definition at line 211 of file link_library_manager.inc.

212  {
213  SerializationManager::registerHandler("link_library", "Link Libraries", new LinkLibrarySerializationHandler());
214  return true;
215  }
registerHandler($component, $title, $handler)
Registers a serialization handler for a component.

◆ registerTaxonomyClasses()

static LinkLibraryManager::registerTaxonomyClasses (   $classes)
static

Definition at line 205 of file link_library_manager.inc.

206  {
207  $classes[] = LinkRecord;
208  return $classes;
209  }

◆ setDefaults()

static LinkLibraryManager::setDefaults ( )
static

Definition at line 48 of file link_library_manager.inc.

49  {
50  Settings::setDefaultValue("link_library", "display_format", "Paged List", String, "Specify the format used to display link libraries.", "", "Paged List\nTabular");
51  }
static setDefaultValue($component, $name, $value, $field_type="String", $annotation="", $category="", $options="", $weight=0)
Sets the default value of the given component setting.
Definition: settings.inc:174

◆ upgradeComponent()

static LinkLibraryManager::upgradeComponent (   $version)
static

Definition at line 103 of file link_library_manager.inc.

104  {
106  $mgr->upgrade($version);
107  }

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