Example #1
0
/**
	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;
    }
}
Example #2
0
 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();
 }