/** This function will return a complete table of all links valid for this item_type. This is useful because it allows the use of a site plugin for generating links only, by specifying as the default site type. */ function get_site_plugin_links($page_title, $item_r) { $pageContents = ''; $results = fetch_site_plugin_rs($item_r['s_item_type']); if ($results) { $titleMaskCfg = new TitleMask(); $pageContents = "<ul class=\"sitepluginLinks\">"; while ($site_plugin_type_r = db_fetch_assoc($results)) { if (is_exists_site_plugin($site_plugin_type_r['site_type'])) { $site_plugin_conf_rs = get_site_plugin_conf_r($site_plugin_type_r['site_type']); if (strlen($site_plugin_type_r['image']) > 0) { $link_text = theme_image("images/site/" . $site_plugin_type_r['image'], htmlspecialchars($site_plugin_type_r['title'])); } else { $link_text = $site_plugin_type_r['title']; } $results2 = fetch_site_plugin_link_rs($site_plugin_type_r['site_type'], $item_r['s_item_type']); if ($results2) { while ($site_plugin_link_r = db_fetch_assoc($results2)) { $parse_url = NULL; if (strlen($site_plugin_link_r['url']) > 0 && is_exists_site_item_attribute($site_plugin_type_r['site_type'], $item_r['item_id'], $item_r['instance_no'])) { $parse_url = $site_plugin_link_r['url']; } else { if (strlen($site_plugin_link_r['title_url']) > 0) { $parse_url = $site_plugin_link_r['title_url']; } } if ($parse_url != NULL) { $titleMaskCfg->reset(); $parse_url = trim($titleMaskCfg->expand_title($item_r, $parse_url, $site_plugin_conf_rs)); if (strlen($parse_url) > 0) { $pageContents .= "<li><a href=\"" . $parse_url . "\" target=\"_new\">{$link_text}"; $pageContents .= "<span class=\"sitePluginDescription\">" . $site_plugin_link_r['description'] . "</span>"; $pageContents .= "</a></li>"; } } } //while db_free_result($results2); } } } //while db_free_result($results); $pageContents .= "</ul>"; return $pageContents; } }
function SitePlugin($site_type) { global $SITE_PLUGIN_SNOOPY; $this->_type = $site_type; $this->_site_plugin_r = fetch_site_plugin_r($this->_type); $this->_site_plugin_conf_r = get_site_plugin_conf_r($this->_type); // for simplicity sake we want an array always, even if empty. if (!is_array($this->_site_plugin_conf_r)) { $this->_site_plugin_conf_r = array(); } if (is_numeric($this->_site_plugin_r['items_per_page'])) { $this->_items_per_page = $this->_site_plugin_r['items_per_page']; } else { $this->_items_per_page = 25; } // parse this URL now once if (strlen($this->_site_plugin_r['more_info_url']) > 0) { $this->_more_info_url = $this->_site_plugin_r['more_info_url']; } // Construct a single copy of this object for use within the site plugin $this->_httpClient =& $SITE_PLUGIN_SNOOPY; //debugging always on $this->_titleMaskCfg = new TitleMask(); }