Your IP : 216.73.216.240


Current Path : /home/j/u/v/juvelize/www/modules/mod_myshortlist/
Upload File :
Current File : /home/j/u/v/juvelize/www/modules/mod_myshortlist/mod_myshortlist.php

<?php
/*------------------------------------------------------------------------
# mod_myshortlist - My ShortList
# ------------------------------------------------------------------------
# author    Christopher Mavros - Mavrosxristoforos.com
# copyright Copyright (C) 2011 Mavrosxristoforos.com. All Rights Reserved.
# @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
# Websites: http://www.mavrosxristoforos.com
# Technical Support:  Forum - http://www.mavrosxristoforos.com/support/forum
-------------------------------------------------------------------------*/

// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

$component_exists = false;
if (file_exists(JPATH_ROOT.'/components/com_myshortlist/lib.php')) {
  $component_exists = true;
}

if (!function_exists('my_escape_string')) {
  function my_escape_string($string_to_escape) {
    $db = JFactory::getDBO();
    return $db->escape($string_to_escape);
  }
}

if (!function_exists('isFavourite')) {
  function isFavourite($COOKIELIST, $aid) {
    $result = false;
    $flist = explode(';', $COOKIELIST);
    if (in_array($aid, $flist)) {
      $result = true;
    }
    return $result;
  }
}

if (!function_exists('getCookieList')) {
  function getCookieList($save_method, $cookie_prefix) {
    $clist = '';
    $user = JFactory::getUser();

    if (($user->guest) || ($save_method == "0")) {
      if (isset($_COOKIE[$cookie_prefix.'myshortlist'])) {
        $clist = $_COOKIE[$cookie_prefix.'myshortlist'];
      }
    }
    else {
      $db = JFactory::getDBO();

      $db->setQuery('SELECT `cookielist` FROM `#__myshortlist_lists` WHERE `user_id` = "'.$user->id.'" AND `cookie_prefix` = "'.$cookie_prefix.'"');
      $clist = $db->loadResult();

      if ($clist == '') {
        if (isset($_COOKIE[$cookie_prefix.'myshortlist'])) {
          $clist = $_COOKIE[$cookie_prefix.'myshortlist'];
        }
      }
    }

    return $clist;
  }
}

if (!function_exists('saveCookieList')) {
  function saveCookieList($COOKIELIST, $save_method, $cookie_prefix) {
    $user = JFactory::getUser();

    if ($user->guest) {
      setcookie($cookie_prefix.'myshortlist', $COOKIELIST, time()+60*60*24*365*2, '/');
    }
    else {
      if ($save_method != "1") {
        setcookie($cookie_prefix.'myshortlist', $COOKIELIST, time()+60*60*24*365*2, '/');
      }
      if ($save_method != "0") {
        $db = JFactory::getDBO();

        $db->setQuery('CREATE TABLE IF NOT EXISTS `#__myshortlist_lists` (
                      `id` int(11) NOT NULL auto_increment,
                      `user_id` int(11) NOT NULL,
                      `cookielist` TEXT NULL,
                      `cookie_prefix` varchar(50) NULL,
                      PRIMARY KEY (`id`)
                      ) ENGINE=MyISAM AUTO_INCREMENT=0');
        $db->query();

        $db->setQuery('SELECT * FROM `#__myshortlist_lists` WHERE `user_id`="'.$user->id.'" AND `cookie_prefix`="'.$cookie_prefix.'"');
        if ($db->loadResult()) {
          $db->setQuery('UPDATE `#__myshortlist_lists` SET `cookielist` = "'.my_escape_string($COOKIELIST).'" WHERE `user_id` = "'.$user->id.'" AND `cookie_prefix` = "'.$cookie_prefix.'"');
        }
        else {
          $db->setQuery('INSERT INTO `#__myshortlist_lists` (`user_id`, `cookielist`, `cookie_prefix`) VALUES ("'.$user->id.'", "'.$COOKIELIST.'", "'.$cookie_prefix.'")');
        }
        $db->query();
      }
    }
  }
}

if (!function_exists('print_button')) {
  function print_button($COOKIELIST, $aid, $buttonText, $buttonWidth, $moduleclass_sfx, $url, $sections, $categories, $cookie_prefix, $module_mode, $delButtonText) {
    if ($aid != -1) {
      if ($sections != '') {
        $db = JFactory::getDBO();
        $db->setQuery('SELECT COUNT(*) FROM `#__content` WHERE `id` = "'.$aid.'" AND `sectionid` IN ('.$sections.')');
        $acount = $db->loadResult();
        if ($acount == '0') {
          return;
        }
      }
      if ($categories != '') {
        $db = JFactory::getDBO();
        $db->setQuery('SELECT COUNT(*) FROM `#__content` WHERE `id` = "'.$aid.'" AND `catid` IN ('.$categories.')');
        $acount = $db->loadResult();
        if ($acount == '0') {
          return;
        }
      }
      if (!isFavourite($COOKIELIST, $aid)) {
        print '<form action="' . $url . '" method="post">';
        print '<input class="myshortlist button ' . $moduleclass_sfx . '" type="submit" name="'.$cookie_prefix.'addme" value="' .
              $buttonText . '" style="width: ' . $buttonWidth . '%"/>';
        print '<input type="hidden" name="'.$cookie_prefix.'mpage" value="'.$aid.'"/>';
        print '</form>';
      }
      else if ($module_mode == '1') {
        // Note that the Auto Menu Itemid is included in the $aid here.
        print '<form action="' . $url . '" method="post">' .
              '<input type="submit" name="'.$cookie_prefix.'deletefav" value="'.$delButtonText.'" class="button myshortlist mybutton"/>' .
              '<input type="hidden" name="delaid" value="' . $aid . '"/>' .
              '</form>';
      }
    }
  }
}

if (!function_exists('print_mylist')) {
  function print_mylist($db, $COOKIELIST, $aid, $nofavourites, $fav_per_page, $url, $paginationtext, $absolute_link, $fixed_itemid, $cookie_prefix, $menu_itemids_with_article_ids, $auto_menu_itemid, $sobi_fid, $jea_ref_or_title) {
    $result = '<p style="text-align: center;">'.$nofavourites.'</p>';
    if ($COOKIELIST != '') {
      $flist = explode(';', $COOKIELIST);
      $result = '<table class="myshortlist mytable" style="width: 100%;" id="fav0">';
      $i = 1; // because the first table will contain fav_per_page + 1 elements, if we start from 0.
      $pageCount = 1; // because the fav0 table is already there.
      $currentPageScript = ''; // the script to show the current page if any
      foreach($flist as $myid) {
        if (($fav_per_page != '0') && ($i > ((int) $fav_per_page))) {
          $result .= '</table><table class="myshortlist mytable" style="width: 100%; display: none;" id="fav'.$pageCount.'">';
          $pageCount++;
          $i = 1;
        }
        if ($myid == $aid) {
          if ($pageCount > 1) {
            $myCurrentPage = $pageCount-1;
            $currentPageScript = '  showPage('.$myCurrentPage.');';
          }
        }
        $contains_menu_itemid = false;
        $menu_itemid = '';
        if (substr($myid, -1) == '-') {
          $contains_menu_itemid = true;
          $mpos = strpos($myid, '-');
          $mpos2 = strpos($myid, '-', $mpos+1);
          $menu_itemid = substr($myid, $mpos+1, $mpos2-$mpos-1);
          $myid = str_replace('-'.$menu_itemid.'-', '', $myid);
        }
        $using_k2 = false;
        $using_adsmanager = false;
        $using_adsmanager25 = false; // for joomla 1.0
        $using_jobboard = false;
        $using_nspro = false;
        $using_nsprosublist = false;
        $using_acymailing = false;
        $using_eventbooking = false;
        $using_virtuemart2 = false;
        $using_communitybuilder = false;
        $using_vipportfolio = false;
        $using_mosetstree = false;
        $using_jea = false;
        $using_jdownloads = false;
        $using_sobipro = false;
        $using_jomsocial = false;
        $using_zoo = false;
        $using_acepolls = false;
        $using_jomsocial_groups = false;
        $using_jomsocial_events = false;
        $using_hikashop = false;
        $using_k2_users = false;
        $using_ezrealty = false;
        $using_multicategories = false;
        $using_joomgalaxy = false;
        $using_eventlist = false;
        $using_properties = false;
        $using_shopoffers = false;
        $using_lf = false;
        $using_jbusinessdirectory = false;
        $using_k2_cats = false;
        switch(substr($myid, 0, 4)) {
          case '#k2#':
            $using_k2 = true;
            break;
          case '#kc#':
            $using_k2_cats = true;
            break;
          case '#ad#':
            $using_adsmanager = true;
            break;
          case '#a1#':
            $using_adsmanager25 = true;
            break;
          case '#jb#':
            $using_jobboard = true;
            break;
          case '#ns#':
            $using_nspro = true;
            break;
          case '#nl#':
            $using_nsprosublist = true;
            break;
          case '#am#':
            $using_acymailing = true;
            break;
          case '#eb#':
            $using_eventbooking = true;
            break;
          case '#vm#':
            $using_virtuemart2 = true;
            break;
          case '#cb#':
            $using_communitybuilder = true;
            break;
          case '#vp#':
            $using_vipportfolio = true;
            break;
          case '#mt#':
            $using_mosetstree = true;
            break;
          case '#je#':
            $using_jea = true;
            break;
          case '#jd#':
            $using_jdownloads = true;
            break;
          case '#sp#':
            $using_sobipro = true;
            break;
          case '#js#':
            $using_jomsocial = true;
            break;
          case '#zo#':
            $using_zoo = true;
            break;
          case '#ap#':
            $using_acepolls = true;
            break;
          case '#jg#':
            $using_jomsocial_groups = true;
            break;
          case '#jv#':
            $using_jomsocial_events = true;
            break;
          case '#hk#':
            $using_hikashop = true;
            break;
          case '#ku#':
            $using_k2_users = true;
            break;
          case '#ez#':
            $using_ezrealty = true;
            break;
          case '#mc#':
            $using_multicategories = true;
            break;
          case '#ga#':
            $using_joomgalaxy = true;
            break;
          case '#el#':
            $using_eventlist = true;
            break;
          case '#pr#':
            $using_properties = true;
            break;
          case '#so#':
            $using_shopoffers = true;
            break;
          case '#lf#':
            $using_lf = true;
            break;
          case '#bd#':
            $using_jbusinessdirectory = true;
            break;
        }

        // Good for VM 2
        $lg = JFactory::getLanguage();
        $language_code = $lg->getTag();
        $lcode = str_replace('-', '_', $language_code);
        $lcode = strtolower($lcode);

        // each article link here, and a link to delete it
        if ($using_k2 == true) {
          $query = 'SELECT * FROM `#__k2_items` WHERE `id` = "'.my_escape_string(str_replace('#k2#', '', $myid)).'"';
        }
        else if ($using_k2_cats == true) {
          $query = 'SELECT `id`, `name` as title, `alias` FROM `#__k2_categories` WHERE `id` = "'.my_escape_string(str_replace('#kc#', '', $myid)).'"';
        }
        else if ($using_adsmanager == true) {
          $query = 'SELECT A.`id`, A.`ad_headline` as title, B.`catid` FROM `#__adsmanager_ads` A'.
                   ' LEFT JOIN `#__adsmanager_adcat` B ON A.`id` = B.`adid`'.
                   ' WHERE `id` = "'.my_escape_string(str_replace('#ad#', '', $myid)).'"';
        }
        else if ($using_adsmanager25 == true) {
          $query = 'SELECT A.`id`, A.`ad_headline` as title, B.`catid` FROM `#__adsmanager_ads` A'.
                   ' LEFT JOIN `#__adsmanager_adcat` B ON A.`id` = B.`adid`'.
                   ' WHERE `id` = "'.my_escape_string(str_replace('#a1#', '', $myid)).'"';
        }
        else if ($using_jobboard == true) {
          $query = 'SELECT `id`, CONCAT(`job_title`," - ",`city`) AS title, `category` AS catid FROM `#__jobboard_jobs`'.
                   ' WHERE `id` = "'.my_escape_string(str_replace('#jb#', '', $myid)).'"';
        }
        else if ($using_nspro == true) {
          $query = 'SELECT `id`, `subject` as title FROM `#__nspro_newsletters`'.
                   ' WHERE `id` = "'.my_escape_string(str_replace('#ns#', '', $myid)).'"';
        }
        else if ($using_nsprosublist == true) {
          $query = 'SELECT `id`, `name` as title FROM `#__nspro_subs` WHERE `id` = "'.my_escape_string(str_replace('#nl#', '', $myid)).'"';
        }
        else if ($using_acymailing == true) {
          $query = 'SELECT A.`mailid` as id, A.`subject` as title, A.`alias` AS malias, B.`listid`, C.`alias` AS lalias FROM `#__acymailing_mail` A'.
                   ' LEFT JOIN `#__acymailing_listmail` B ON A.`mailid` = B.`mailid`'.
                   ' LEFT JOIN `#__acymailing_list` C ON B.`listid` = C.`listid`'.
                   ' WHERE A.`mailid` = "'.my_escape_string(str_replace('#am#', '', $myid)).'"';
        }
        else if ($using_eventbooking == true) {
          $query = 'SELECT `id`, `title` FROM `#__eb_events` WHERE `id` = "'.my_escape_string(str_replace('#eb#', '', $myid)).'"';
        }
        else if ($using_virtuemart2 == true) {
          $query = 'SELECT A.`virtuemart_product_id` AS id, B.`virtuemart_category_id` as catid, C.`product_name` as title FROM'.
                   ' `#__virtuemart_products` A LEFT JOIN `#__virtuemart_product_categories` B ON A.`virtuemart_product_id` = B.`virtuemart_product_id`'.
                   ' LEFT JOIN `#__virtuemart_products_'.$lcode.'` C ON A.`virtuemart_product_id` = C.`virtuemart_product_id`'.
                   ' WHERE A.`virtuemart_product_id` = "'.my_escape_string(str_replace('#vm#', '', $myid)).'"';
        }
        else if ($using_communitybuilder == true) {
          $query = 'SELECT A.`id`, A.`user_id`, B.`name` as title FROM `#__comprofiler` A LEFT JOIN `#__users` B ON A.`user_id` = B.`id`'.
                   ' WHERE A.`id` = "'.my_escape_string(str_replace('#cb#', '', $myid)).'"';
        }
        else if ($using_vipportfolio == true) {
          $query = 'SELECT * FROM `#__vp_projects` WHERE `id` = "'.my_escape_string(str_replace('#vp#', '', $myid)).'"';
        }
        else if ($using_mosetstree == true) {
          $query = 'SELECT `link_id` as id, `link_name` as title FROM `#__mt_links` WHERE `link_id` = "'.my_escape_string(str_replace('#mt#', '', $myid)).'"';
        }
        else if ($using_jea == true) {
          $field_to_use = ($jea_ref_or_title == 0) ? '`ref` as title' : '`title`';
          $query = 'SELECT `id`, '.$field_to_use.', `alias` FROM `#__jea_properties` WHERE `id` = "'.my_escape_string(str_replace('#je#', '', $myid)).'"';
        }
        else if ($using_jdownloads == true) {
          $query = 'SELECT `file_id` as id, `file_title` as title, `cat_id` FROM `#__jdownloads_files` WHERE `file_id` = "'.my_escape_string(str_replace('#jd#', '', $myid)).'"';
        }
        else if ($using_sobipro == true) {
          $query = 'SELECT `sid` as id, `baseData` as title, `section` as catid FROM `#__sobipro_field_data` WHERE `sid` = "'.my_escape_string(str_replace('#sp#', '', $myid)).'" AND `fid` = "'.$sobi_fid.'"';
        }
        else if ($using_jomsocial == true) {
          $query = 'SELECT A.`userid` as id, B.`name` as title, A.`thumb` FROM `#__community_users` A LEFT JOIN `#__users` B ON A.`userid` = B.`id` WHERE A.`userid` = "'.my_escape_string(str_replace('#js#', '', $myid)).'"';
        }
        else if ($using_zoo == true) {
          $query = 'SELECT `id`, `name` as title FROM `#__zoo_item` WHERE `id` = "'.my_escape_string(substr($myid, 4)).'"';
        }
        else if ($using_acepolls == true) {
          $query = 'SELECT `id`, `title`, `alias` FROM `#__acepolls_polls` WHERE `id` = "'.my_escape_string(str_replace('#ap#', '', $myid)).'"';
        }
        else if ($using_jomsocial_groups == true) {
          $query = 'SELECT `id`, `name` as title, `avatar` FROM `#__community_groups` WHERE `id` = "'.my_escape_string(substr($myid, 4)).'"';
        }
        else if ($using_jomsocial_events == true) {
          $query = 'SELECT `id`, `title`, `avatar` FROM `#__community_events` WHERE `id` = "'.my_escape_string(substr($myid, 4)).'"';
        }
        else if ($using_hikashop == true) {
          $query = 'SELECT `product_id` as `id`, `product_name` as title FROM `#__hikashop_product` WHERE `product_id` = "'.my_escape_string(substr($myid, 4)).'"';
        }
        else if ($using_k2_users == true) {
          $query = 'SELECT `userID` as id, `userName` as title FROM `#__k2_users` WHERE `userID` = "'.my_escape_string(str_replace('#ku#', '', $myid)).'"';
        }
        else if ($using_ezrealty == true) {
          $query = 'SELECT A.*, A.`adline` as title, B.`alias` as catalias FROM `#__ezrealty` A LEFT JOIN `#__ezrealty_catg` B ON A.`cid` = B.`id` WHERE A.`id` = "'.my_escape_string(str_replace('#ez#', '', $myid)).'"';
        }
        else if ($using_multicategories == true) {
          $query = 'SELECT * FROM `#__content` WHERE `id` = "'.my_escape_string(str_replace('#mc#', '', $myid)).'"';
        }
        else if ($using_joomgalaxy == true) {
          $query = 'SELECT A.`id`, A.`title`, B.`catid` FROM `#__joomgalaxy_entries` A LEFT JOIN `#__joomgalaxy_entries_relations` B ON A.`id` = B.`entry_id` WHERE A.`id` = "'.my_escape_string(str_replace('#ga#', '', $myid)).'"';
        }
        else if ($using_eventlist == true) {
          $query = 'SELECT `id`, `title` FROM `#__eventlist_events` WHERE `id` = "'.my_escape_string(str_replace('#el#', '', $myid)).'"';
        }
        else if ($using_properties == true) {
          $query = 'SELECT `id`, `name` as title FROM `#__properties_products` WHERE `id` = "'.my_escape_string(str_replace('#pr#', '', $myid)).'"';
        }
        else if ($using_shopoffers == true) {
          $query = 'SELECT `id`, `title` FROM `#__sof_offers` WHERE `id` = "'.my_escape_string(str_replace('#so#', '', $myid)).'"';
        }
        else if ($using_lf == true) {
          $query = 'SELECT `id`, `username` as title FROM `#__users` WHERE `id` = "'.my_escape_string(str_replace('#lf#', '', $myid)).'"';
        }
        else if ($using_jbusinessdirectory == true) {
          $query = 'SELECT `id`, `name` as title FROM `#__jbusinessdirectory_companies` WHERE `id` = "'.my_escape_string(str_replace('#bd#', '', $myid)).'"';
        }
        else {
          $query = 'SELECT * FROM `#__content` WHERE `id` = "'.my_escape_string($myid).'"';
        }
        $db->setQuery($query);
        $myArticle = $db->loadObject();
        if (!$myArticle) {
          $result .= '<!-- MyShortlist DEBUG: There was a problem with ID '.htmlentities($myid).' -->';
          continue;
        }
        $mlink = '';
        if ($absolute_link == true) {
          $mlink = JURI::root();
        }
        if ($using_k2 == true) {
          $mlink .= 'index.php?option=com_k2&amp;view=item&amp;id='.str_replace('#k2#', '', $myid).':'.$myArticle->alias.'&amp;catid='.$myArticle->catid;
        }
        else if ($using_k2_cats == true) {
          $mlink .= 'index.php?option=com_k2&amp;view=itemlist&amp;task=category&amp;id='.str_replace('#kc#', '', $myid).':'.$myArticle->alias;
        }
        else if ($using_adsmanager == true) {
          $mlink .= 'index.php?option=com_adsmanager&amp;view=details&amp;id='.str_replace('#ad#', '', $myid).'&amp;catid='.$myArticle->catid;
        }
        else if ($using_adsmanager25 == true) {
          $mlink .= 'index.php?option=com_adsmanager&amp;page=show_ad&amp;adid='.$myArticle->id.'&amp;catid='.$myArticle->catid;
        }
        else if ($using_jobboard == true) {
          $mlink .= 'index.php?option=com_jobboard&amp;view=job&amp;id='.str_replace('#jb#', '', $myid).'&amp;catid='.$myArticle->catid;
        }
        else if ($using_nspro == true) {
          $mlink .= 'index.php?option=com_nspro&amp;layout=newsletterview&amp;nid='.str_replace('#ns#', '', $myid);
        }
        else if ($using_nsprosublist == true) {
          $mlink .= 'index.php?option=com_nspro&amp;layout=subview&amp;subid='.str_replace('#nl#', '', $myid);
        }
        else if ($using_acymailing == true) {
          $mlink .= 'index.php?option=com_acymailing&amp;ctrl=archive&amp;task=view&amp;listid='.$myArticle->listid.'-'.$myArticle->lalias.'&amp;mailid='.$myArticle->id.'-'.$myArticle->malias;
        }
        else if ($using_eventbooking == true) {
          $mlink .= 'index.php?option=com_eventbooking&amp;task=view_event&event_id='.$myArticle->id;
        }
        else if ($using_virtuemart2 == true) {
          $mlink .= 'index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$myArticle->id.'&amp;virtuemart_category_id='.$myArticle->catid;
        }
        else if ($using_communitybuilder == true) {
          $mlink .= 'index.php?option=com_comprofiler&amp;task=userprofile&amp;user='.$myArticle->id;
        }
        else if ($using_vipportfolio == true) {
          $mlink .= 'index.php?option=com_vipportfolio&amp;view=projects&amp;catid='.$myArticle->catid;
        }
        else if ($using_mosetstree == true) {
          $mlink .= 'index.php?option=com_mtree&task=viewlink&link_id='.$myArticle->id;
        }
        else if ($using_jea == true) {
          $mlink .= 'index.php?option=com_jea&view=property&id='.$myArticle->id.':'.$myArticle->alias;
        }
        else if ($using_jdownloads == true) {
          $mlink .= 'index.php?option=com_jdownloads&view=viewdownload&catid='.$myArticle->cat_id.'&cid='.$myArticle->id;
        }
        else if ($using_sobipro == true) {
          $mlink .= 'index.php?option=com_sobipro&pid='.$myArticle->catid.'&sid='.$myArticle->id;
        }
        else if ($using_jomsocial == true) {
          $mlink .= 'index.php?option=com_community&view=profile&userid='.$myArticle->id;
        }
        else if ($using_zoo == true) {
          $mlink .= 'index.php?option=com_zoo&task=item&item_id='.$myArticle->id;
        }
        else if ($using_acepolls == true) {
          $mlink .= 'index.php?option=com_acepolls&view=poll&id='.$myArticle->id.':'.$myArticle->alias;
        }
        else if ($using_jomsocial_groups == true) {
          $mlink .= 'index.php?option=com_community&view=groups&task=viewgroup&groupid='.$myArticle->id;
        }
        else if ($using_jomsocial_events == true) {
          $mlink .= 'index.php?option=com_community&view=events&task=viewevent&eventid='.$myArticle->id;
        }
        else if ($using_hikashop == true) {
          $mlink .= 'index.php?option=com_hikashop&ctrl=product&task=show&cid='.$myArticle->id;
        }
        else if ($using_k2_users == true) {
          $mlink .= 'index.php?option=com_k2&view=itemlist&task=user&id='.$myArticle->id;
        }
        else if ($using_ezrealty == true) {
          $mlink .= 'index.php?option=com_ezrealty&view=ezrealty&id='.$myArticle->id.':'.$myArticle->alias.'&cid='.$myArticle->cid.':'.$myArticle->catalias;
        }
        else if ($using_multicategories == true) {
          $mlink .= 'index.php?option=com_multicategories&view=article&id='.$myArticle->id;
        }
        else if ($using_joomgalaxy == true) {
          $mlink .= 'index.php?option=com_joomgalaxy&view=entry_detail&catid='.$myArticle->catid.'&entryid='.$myArticle->id;
        }
        else if ($using_eventlist == true) {
          $mlink .= 'index.php?option=com_eventlist&amp;view=details&amp;id='.$myArticle->id;
        }
        else if ($using_properties == true) {
          $mlink .= 'index.php?option=com_properties&amp;view=properties&amp;id='.$myArticle->id;
        }
        else if ($using_shopoffers == true) {
          $mlink .= 'index.php?option=com_shopoffers&amp;layout=offer&amp;id='.$myArticle->id;
        }
        else if ($using_lf == true) {
          $mlink .= 'index.php?option=com_lovefactory&amp;view=profile&amp;id='.$myArticle->id;
        }
        else if ($using_jbusinessdirectory == true) {
          $mlink .= 'index.php?option=com_jbusinessdirectory&amp;view=companies&companyId='.$myArticle->id;
        }
        else {
          $mlink .= 'index.php?option=com_content&amp;view=article&amp;id='.$myArticle->id.':'.$myArticle->alias.'&amp;catid='.$myArticle->catid;
        }
        if ($fixed_itemid != '') {
            $mlink .= '&amp;Itemid='.$fixed_itemid;
        }
        else if ($menu_itemids_with_article_ids != '') {
          $lines = explode("\n", $menu_itemids_with_article_ids);
          if (count($lines) > 0) {
            $found = false;
            foreach($lines as $line) {
              $parts = explode('=', $line);
              if (count($parts) > 0) {
                $menu_item_id = $parts[0];
                $right_ids = explode(',', $parts[1]);

                if (count($right_ids) > 0) {
                  foreach($right_ids as $rid) {
                    if ($rid == $myid) {
                      $mlink .= '&amp;Itemid='.$menu_item_id;
                      $found = true;
                      break;
                    }
                  }
                }
              }

              if ($found === true) {
                break;
              }
            }
          }
        }
        else if (($auto_menu_itemid == true) && ($contains_menu_itemid == true)) {
          $mlink .= '&amp;Itemid='.$menu_itemid;
        }
        $mydelid = $myid;
        if ($contains_menu_itemid) {
          $mydelid .= '-'.$menu_itemid.'-';
        }
        if ($using_jomsocial == true) {
          $result .= '<tr><td align="left"><img class="myshortlist_jomsocial_thumb" src="'.$myArticle->thumb.'" alt="'.$myArticle->title.'"/>'.
                     '<a href="'.$mlink.'" class="myshortlist_jomsocial_link">'.$myArticle->title.'</a></td>' .
                     '<td align="right">'.
                     '<form action="' . $url . '" method="post" style="max-width: 30px;">' .
                     '<input type="submit" name="'.$cookie_prefix.'deletefav" value="X" class="button myshortlist mybutton"/>' .
                     '<input type="hidden" name="delaid" value="' . $mydelid . '"/>' .
                     '</form>' .
                     '</td></tr>';
        }
        else if ($using_jomsocial_groups == true) {
          $my_thumb = $myArticle->avatar;
          if ($my_thumb == '') {
            $my_thumb = 'components/com_community/assets/group_thumb.jpg';
          }
          $result .= '<tr><td align="left"><img class="myshortlist_jomsocial_groups_thumb" src="'.$my_thumb.'" alt="'.$myArticle->title.'"/>'.
                     '<a href="'.$mlink.'" class="myshortlist_jomsocial_groups_link">'.$myArticle->title.'</a></td>' .
                     '<td align="right">'.
                     '<form action="' . $url . '" method="post" style="max-width: 30px;">' .
                     '<input type="submit" name="'.$cookie_prefix.'deletefav" value="X" class="button myshortlist mybutton"/>' .
                     '<input type="hidden" name="delaid" value="' . $mydelid . '"/>' .
                     '</form>' .
                     '</td></tr>';
        }
        else if ($using_adsmanager == true) {
          $pic = "images/com_adsmanager/ads/".$myArticle->id."a_t.jpg";
          $result .= '<tr><td align="left">';
          if (file_exists(JPATH_SITE.'/'.$pic)) {
            $result .= '<img class="myshortlist_adsmanager_thumb" src="'.JURI::base().$pic.'" alt="'.$myArticle->title.'">';
          }
          $result .= '<a href="'.$mlink.'" class="myshortlist_link">'.$myArticle->title.'</a></td>' .
                     '<td align="right">'.
                     '<form action="' . $url . '" method="post" style="max-width: 30px;">' .
                     '<input type="submit" name="'.$cookie_prefix.'deletefav" value="X" class="button myshortlist mybutton"/>' .
                     '<input type="hidden" name="delaid" value="' . $mydelid . '"/>' .
                     '</form>' .
                     '</td></tr>';
        }
        else if ($using_eventlist == true) {
          $result .= '<tr><td align="left" width="95%"><a href="'.$mlink.'" class="myshortlist_link">'.$myArticle->title.'</a></td>' .
                     '<td align="right" width="5%">' .
                     '<form action="' . $url . '" method="post">' .
                     '<button id="submit-reset" name="'.$cookie_prefix.'deletefav" onclick="document.submit();">&nbsp;</button>' .
                     '<input type="hidden" name="delaid" value="' . $mydelid . '"/>' .
                     '</form>' .
                     '</td></tr>';
        }
        else if ($using_ezrealty == true) {
          include_once(JPATH_SITE.DS.'components'.DS.'com_ezrealty'.DS.'helpers'.DS.'helper.php');
          // get image
          $query = 'SELECT fname AS image FROM #__ezrealty_images as p WHERE p.propid = '.$myArticle->id.' order by ordering LIMIT 1';
          $db->setQuery( $query );
          $image = $db->loadResult();
          $the_image = '';
          if(!$image){
            $the_image = '<img src="'.JURI::root().'components/com_ezrealty/ezrealty/th/nothumb.png" border="0" width="120" />';
          } else {
            ob_start();
            $the_image = EZRealtyFHelper::convertImage ($myArticle->id, $myArticle->sold, $myArticle->adline, $myArticle->featured, $myArticle->type);
            $the_image = ob_get_contents();
            ob_end_clean();
          }
          // get price
          $my_final_price = '';
          $number = $myArticle->price;
          if ($myArticle->currency_format==0) {
            $formatted_price = number_format($number);
          } else if ($myArticle->currency_format==1) {
            $formatted_price = number_format($number, 2,",",".");
          } else if ($myArticle->currency_format==2) {
            $formatted_price = number_format($number, 0,",",".");
          } else if ($myArticle->currency_format==3) {
            $formatted_price = number_format($number, 2,".",",");
          }
          if ( $myArticle->freq==0 ) {
            if ( $myArticle->showprice==0 ) {
              $my_final_price = stripslashes($myArticle->priceview);
            } else {
              ob_start();
              $my_final_price = EZRealtyFHelper::convertPrice ($formatted_price, $myArticle->currency, $myArticle->currency_position);
              $my_final_price = ob_get_contents();
              ob_end_clean();
            }
          }
          if ( $myArticle->freq>0 ) {
            if ( $myArticle->showprice==0 ) {
              $my_final_price = stripslashes($myArticle->priceview);
            } else {
              ob_start();
              $my_final_price = EZRealtyFHelper::convertPrice ($formatted_price, $myArticle->currency, $myArticle->currency_position);
              $my_final_price .= "&nbsp;";
              $my_final_price .= EZRealtyFHelper::convertFrequency ($myArticle->freq);
              $my_final_price = ob_get_contents();
              ob_end_clean();
            }
          }
          $result .= '<tr><td align="left">'.
                     '<table border="0"><tr><td rowspan="3"><a href="'.$mlink.'" class="myshortlist_image_link">'.$the_image.'</a></td>'.
                     '<td><a href="'.$mlink.'" class="myshortlist_link">'.$myArticle->title.'</a></td></tr>'.
                     '<tr><td>'.$myArticle->unit_num.'</td></tr><tr><td>'.$my_final_price.'</td></tr></table></td>' .
                     '<td align="right">'.
                     '<form action="' . $url . '" method="post" style="max-width: 30px;">' .
                     '<input type="submit" name="'.$cookie_prefix.'deletefav" value="X" class="button myshortlist mybutton"/>' .
                     '<input type="hidden" name="delaid" value="' . $mydelid . '"/>' .
                     '</form>' .
                     '</td></tr>';
        }
        else {
          $result .= '<tr><td align="left"><a href="'.$mlink.'" class="myshortlist_link">'.$myArticle->title.'</a></td>' .
                     '<td align="right">'.
                     '<form action="' . $url . '" method="post" style="max-width: 30px;">' .
                     '<input type="submit" name="'.$cookie_prefix.'deletefav" value="X" class="button myshortlist mybutton"/>' .
                     '<input type="hidden" name="delaid" value="' . $mydelid . '"/>' .
                     '</form>' .
                     '</td></tr>';
        }
        $i++;
      }
      $result .= '</table>';
      if ($pageCount > 1) {
        $result = '<script type="text/javascript"><!--' . "\n" .
                  '' . "\n" .
                  'function showPage(ipage) {' . "\n" .
                  '  for (i = 0; i < ' . $pageCount . '; i++) {' . "\n" .
                  '    document.getElementById("fav"+i).setAttribute('."'".'style'."'".', '."'".'display: none;'."'".');' . "\n" .
                  '  }' . "\n" .
                  '  document.getElementById("fav"+ipage).setAttribute('."'".'style'."'".', '."'".'width: 100%; display: table;'."'".');' . "\n" .
                  '}' . "\n" .
                  '' . "\n" .
                  '--></script>' . "\n" . $result;
        $result .= '<div class="myshortlist mypagination">' . $paginationtext . ' ';
        for ($j = 0; $j < $pageCount; $j++) {
          if ($j > 0) {
            $result .= ' | ';
          }
          $page_no = $j+1;
          $result .= '<a href="javascript:void('. "''" .');" onClick="showPage(' . $j . ');">' . $page_no . '</a>';
        }
        $result .= '</div>';
        if ($currentPageScript != '') {
          $result .= '<script type="text/javascript"><!--'."\n".
                     $currentPageScript."\n".
                     '--></script>';
        }
      }
    }
    return $result;
  }
}

// Debug
if (isset($_GET['myshortlist_debug']) && ($_GET['myshortlist_debug'] == 'myshortlist_debug2012')) {
  print_r($params);

  print '<br/>JURI root:<br/>';
  print JURI::root();
}

// Text Parameters
$buttonText = $params->get('button_text', 'Add to Favourites');
$module_mode = $params->get('only_show_button', '0');
$delButtonText = $params->get('del_button_text', 'Delete from Favourites');
$pageText = $params->get('page_text', 'Thank you for adding this to your favourites!');
$nofavouritesText = $params->get('nofavtext', 'No favourites yet!');
$paginationtext = $params->get('paginationtext', 'Pages:');
$pre_text = $params->get('pre_text', '');

// View Parameters
$fav_per_page = $params->get('fav_per_page', '5');
$sections = $params->get('sectionshow', '');
$categories = $params->get('categoryshow', '');
$addedTextColor = $params->get('added_text_color', '#FF0000');
$buttonWidth = $params->get('button_width', '100');
$buttonPos = $params->get('button_pos', '1');
$addcss = $params->get('addcss', 'div.myshortlist tr, div.myshortlist td { border: none; padding: 2px; }');

// Additional Functionalities
$save_method = $params->get('save_method', '2');
$show_clear_button = $params->get('show_clear_button', true);
$clear_button_text = $params->get('clear_button_text', 'Clear All');
$show_send_button = $params->get('show_send_button', true);
$send_button_text = $params->get('send_button_text', 'Send to Admin');
$use_fields = $params->get('use_fields', '0');
$additional_fields = $params->get('additional_fields', 'text#Field Name');
$email_label = $params->get('email_label', 'Email: ');
$email_recipient = $params->get('email_recipient', 'email@email.com');
$send_copy = $params->get('send_copy', '0');
$email_pretext = $params->get('email_pretext', '');
$subject = $params->get('subject', 'My ShortList Favourites');
$sent_text = $params->get('sent_text', 'Thank you for sending us your favourites');
$not_sent_text = $params->get('not_sent_text', 'There was an error sending us your favourites. Please try again.');
$component_link_text = $params->get('component_link_text', 'Your favourites list');
$target = $params->get('component_link_target', '_blank');
$component_link_menu_itemid = $params->get('component_link_menu_itemid', '');

// URL Parameters
$exact_url = $params->get('exact_url', true);
$disable_https = $params->get('disable_https', false);
$fixed_url = $params->get('fixed_url', false);
$myFixedURL = $params->get('fixed_url_address', '');
$absolute_link = $params->get('absolute_link', false);
$fixed_itemid = $params->get('fixed_itemid', '');
$menu_itemids_with_article_ids = $params->get('menu_itemids_with_article_ids', '');
$cookie_prefix = $params->get('cookie_prefix', '');
$auto_menu_itemid = $params->get('auto_menu_itemid', false);
$sobi_fid = $params->get('sobi_fid', '1');
$jea_ref_or_title = $params->get('jea_ref_or_title', '1');

// Module Class Suffix Parameter
$moduleclass_sfx = $params->get('moduleclass_sfx', '');

// Debug
$showdebug = $params->get('showdebug', '0');

$document = JFactory::getDocument();
$document->addStyleDeclaration($addcss, 'text/css');

$db = JFactory::getDBO();

if ($fixed_url) {
  $url = $myFixedURL;
}
else {
  if (!$exact_url) {
    $url = JURI::current();
  }
  else {
    if (!$disable_https) {
      $url = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    }
    else {
      $url = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    }
  }
}

$COOKIELIST = getCookieList($save_method, $cookie_prefix);

$aid = -1;
if ((JRequest::getVar('option') == 'com_content') && (JRequest::getVar('view') == 'article')) {
  $aid = JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_k2') && (JRequest::getVar('view') == 'item')) {
  $aid = '#k2#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_k2') && (JRequest::getVar('view') == 'itemlist')
      && (JRequest::getVar('task') == 'category')) {
  $aid = '#kc#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_adsmanager') && (JRequest::getVar('view') == 'details')) {
  $aid = '#ad#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_adsmanager') && (JRequest::getVar('page') == 'show_ad')) {
  $aid = '#a1#'.JRequest::getInt('adid', -1);
}
else if ((JRequest::getVar('option') == 'com_jobboard') && (JRequest::getVar('view') == 'job')) {
  $aid = '#jb#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_nspro') && (JRequest::getVar('layout') == 'newsletterview')) {
  $aid = '#ns#'.JRequest::getInt('nid', -1);
}
else if ((JRequest::getVar('option') == 'com_nspro') && (JRequest::getVar('layout') == 'subview')) {
  $aid = '#nl#'.JRequest::getInt('subid', -1);
}
else if ((JRequest::getVar('option') == 'com_acymailing') && (JRequest::getVar('task') == 'view')) {
  $aid = '#am#'.JRequest::getInt('mailid', -1);
}
else if ((JRequest::getVar('option') == 'com_eventbooking') && (JRequest::getVar('task') == 'view_event')) {
  $aid = '#eb#'.JRequest::getInt('event_id', -1);
}
else if ((JRequest::getVar('option') == 'com_virtuemart') && (JRequest::getVar('view') == 'productdetails')) {
  $aid = '#vm#'.JRequest::getInt('virtuemart_product_id', -1);
}
else if ((JRequest::getVar('option') == 'com_comprofiler') && (JRequest::getVar('task') == 'userprofile')) {
  $aid = '#cb#'.JRequest::getInt('user', -1);
}
else if ((JRequest::getVar('option') == 'com_mtree') && (JRequest::getVar('task') == 'viewlink')) {
  $aid = '#mt#'.JRequest::getInt('link_id', -1);
}
else if ((JRequest::getVar('option') == 'com_jea') && (JRequest::getVar('view') == 'property')) { // for JEA 2
  $aid = '#je#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_jdownloads') && (JRequest::getVar('view') == 'viewdownload')) {
  $aid = '#jd#'.JRequest::getInt('cid', -1);
}
else if ((JRequest::getVar('option') == 'com_sobipro') && (JRequest::getInt('sid', -1) != -1)) {
  $aid = '#sp#'.JRequest::getInt('sid', -1);
}
else if ((JRequest::getVar('option') == 'com_community') && (JRequest::getVar('view') == 'profile')) {
  $aid = '#js#'.JRequest::getInt('userid', -1);
}
else if ((JRequest::getVar('option') == 'com_zoo') && (JRequest::getVar('task') == 'item')) {
  $aid = '#zo#'.JRequest::getInt('item_id', -1);
}
else if ((JRequest::getVar('option') == 'com_acepolls') && (JRequest::getVar('view') == 'poll')) {
  $aid = '#ap#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_community') && (JRequest::getVar('view') == 'groups') && (JRequest::getVar('task') == 'viewgroup')) {
  $aid = '#jg#'.JRequest::getInt('groupid', -1);
}
else if ((JRequest::getVar('option') == 'com_community') && (JRequest::getVar('view') == 'events') && (JRequest::getVar('task') == 'viewevent')) {
  $aid = '#jv#'.JRequest::getInt('eventid', -1);
}
else if ((JRequest::getVar('option') == 'com_hikashop') && (JRequest::getVar('ctrl') == 'product') && (JRequest::getVar('task') == 'show')) {
  $aid = '#hk#'.JRequest::getInt('cid', -1);
}
else if ((JRequest::getVar('option') == 'com_k2') && (JRequest::getVar('view') == 'itemlist') && (JRequest::getVar('task') == 'user')) {
  $aid = '#ku#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_ezrealty') && (JRequest::getVar('view') == 'ezrealty')) {
  $aid = '#ez#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_multicategories') && (JRequest::getVar('view') == 'article')) {
  $aid = '#mc#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_joomgalaxy') && (JRequest::getVar('view') == 'entry_detail')) {
  $aid = '#ga#'.JRequest::getInt('entryid', -1);
}
else if ((JRequest::getVar('option') == 'com_eventlist') && (JRequest::getVar('view') == 'details')) {
  $aid = '#el#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_properties') && (JRequest::getVar('view') == 'properties')) {
  $aid = '#pr#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_shopoffers') && (JRequest::getVar('layout') == 'offer')) {
  $aid = '#so#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_lovefactory') && (JRequest::getVar('view') == 'profile')) {
  $aid = '#lf#'.JRequest::getInt('id', -1);
}
else if ((JRequest::getVar('option') == 'com_jbusinessdirectory') && (JRequest::getVar('view') == 'companies')) {
  $aid = '#bd#'.JRequest::getInt('companyId', -1);
}

if ($auto_menu_itemid == true) {
  $iid = JRequest::getInt('Itemid', 0);
  $aid .= '-'.$iid.'-';
}

// IF POSTED ADD
if (isset($_POST[$cookie_prefix."addme"])) {
  if (!isFavourite($COOKIELIST, $_POST[$cookie_prefix."mpage"])) {
    if ($COOKIELIST == '') {
      $COOKIELIST = $_POST[$cookie_prefix.'mpage'];
    }
    else {
      $COOKIELIST .= ';' . $_POST[$cookie_prefix.'mpage'];
    }
    saveCookieList($COOKIELIST, $save_method, $cookie_prefix);
  }
}

// IF POSTED DELETE
if (isset($_POST[$cookie_prefix."deletefav"])) {
  $flist = explode(';', $COOKIELIST);
  $str = '';
  foreach($flist as $myid) {
    if ($myid == $_POST['delaid']) {
      continue;
    }
    if ($str == '') {
      $str = $myid;
    }
    else {
      $str .= ';' . $myid;
    }
  }
  $COOKIELIST = $str;
  saveCookieList($COOKIELIST, $save_method, $cookie_prefix);
}

if (isset($_POST[$cookie_prefix."clear_all_favs"])) {
  // Clear All favourites
  $COOKIELIST = '';
  saveCookieList('', $save_method, $cookie_prefix);
}

if (isset($_POST[$cookie_prefix."send_to_admin"])) {
  // Send to Admin
  // use mail settings to send to email recipient
  $mailSender = JFactory::getMailer();
  $mailSender->addRecipient($email_recipient);

  $mainframe =  JFactory::getApplication();

  $fromName = $mainframe->getCfg('fromname');
  $fromEmail = $mainframe->getCfg('mailfrom');
  $mailSender->setSender(array($fromEmail,$fromName));
  $mailSender->setSubject($subject);

  $you_have_text = JText::_('YOU_HAVE_RECEIVED_A_FAVOURITES_LIST_FROM');
  if ($you_have_text == 'YOU_HAVE_RECEIVED_A_FAVOURITES_LIST_FROM') {
    $you_have_text = 'You have received a favourites list from';
  }
  $myAdminPreMessage = $you_have_text.' '.htmlentities($_POST["myshortlist_email"])."<br/>";
  if ($use_fields != '0') {
    $my_fields = explode("\n", $additional_fields);
    $fcount = count($my_fields);
    if ($fcount > 0) {
      foreach($my_fields as $a_field) {
        $values = explode('#', $a_field);
        $myalias = strtolower(str_replace(array(' ', ':', "\r", "\n"), '_', $values[1]));
        if (isset($_POST['myshortlist_'.$myalias])) {
          $myAdminPreMessage = $myAdminPreMessage . $values[1].': '.htmlentities($_POST['myshortlist_'.$myalias], ENT_COMPAT, "UTF-8")."<br/>";
        }
      }
    }
  }
  $myMessage = print_mylist($db, $COOKIELIST, $aid, $nofavouritesText, $fav_per_page, $url, $paginationtext, $absolute_link,
                            $fixed_itemid, $cookie_prefix, $menu_itemids_with_article_ids, $auto_menu_itemid, $sobi_fid, $jea_ref_or_title);

  $mailSender->isHTML(true);
  $mailSender->setBody($myAdminPreMessage.$myMessage);

  if ($mailSender->Send() !== true) {
    print '<div class="myshortlist message fail">'.$not_sent_text.'</div>';
  }
  else {
    if ($send_copy != '0') {
      $myUserPreMessage = $email_pretext.'<br/>';
      $mailSender = &JFactory::getMailer();
      $mailSender->addRecipient($_POST["myshortlist_email"]);

      $mailSender->setSender(array($fromEmail,$fromName));
      $mailSender->setSubject(JText::_('Copy').': '.$subject);
      $mailSender->isHTML(true);
      $mailSender->setBody($myUserPreMessage.$myMessage);
      $mailSender->Send();
    }
    print '<div class="myshortlist message success">'.$sent_text.'</div>';
  }
}

print '<div id="myshortlist_div" class="myshortlist ' . $moduleclass_sfx . '">' . "\n";
if ($pre_text != '') {
  print '<div class="myshortlist intro_text ' . $moduleclass_sfx . '">'.$pre_text.'</div>' . "\n";
}

if (($buttonPos == '0') && ($module_mode != '2')) {
  print_button($COOKIELIST, $aid, $buttonText, $buttonWidth, $moduleclass_sfx, $url, $sections, $categories, $cookie_prefix, $module_mode, $delButtonText);
}

if ($module_mode != '1') {
print print_mylist($db, $COOKIELIST, $aid, $nofavouritesText, $fav_per_page, $url, $paginationtext, $absolute_link,
                   $fixed_itemid, $cookie_prefix, $menu_itemids_with_article_ids, $auto_menu_itemid, $sobi_fid, $jea_ref_or_title);
}

if (($buttonPos == '1') && ($module_mode != '2')) {
  print_button($COOKIELIST, $aid, $buttonText, $buttonWidth, $moduleclass_sfx, $url, $sections, $categories, $cookie_prefix, $module_mode, $delButtonText);
}

if ($show_clear_button == true) {
  print '<div class="myshortlist clearbutton" style="float: right; padding: 2px;"><form method="post">';
  print '<input type="submit" name="'.$cookie_prefix.'clear_all_favs" value="'.$clear_button_text.'" class="myshortlist button"/>';
  print '</form></div>';
}

if ($show_send_button == true) {
  $extra_height = 100;
  $required_fields = array();
  if ($use_fields != '0') {
    $my_fields = explode("\n", $additional_fields);
    $fcount = count($my_fields);
    if ($fcount > 0) {
      foreach($my_fields as $a_field) {
        $values = explode('#', $a_field);
        if ($values[0] == 'textarea') {
          $extra_height = $extra_height + 100;
        }
        else {
          $extra_height = $extra_height + 60;
        }
        if ((isset($values[2])) && (trim($values[2]) == 'r')) {
          $required_fields[] = $a_field;
        }
      }
    }
  }
  $style = '#shadowing { display: none; position: fixed; top: 0%; left: 0%; width: 100%; height: 100%;'.
           'background-color: #000; z-index:10; opacity:0.6; filter: alpha(opacity=60); }'."\n".
           '#box  { display: none; position: fixed; top: 50%; left: 50%; width: 280px; height: '.$extra_height.'px;'.
           'padding: 25px; margin:0; margin-left: -140px; margin-top: -'.($extra_height/2).'px; border: 1px solid black;'.
           'background-color: white; z-index:101; overflow: auto; }';
  $script = ' function openbox() { '."\n".
            '   document.getElementById("box").style.display="block";'."\n".
            '   document.getElementById("shadowing").style.display="block";'."\n".
            ' }'."\n".
            ''."\n".
            ' function closebox() {'."\n".
            '   document.getElementById("box").style.display="none";'."\n".
            '   document.getElementById("shadowing").style.display="none";'."\n".
            ' }'."\n\n";
  $script .= ' function checkRequiredFields() {'."\n";
  if (count($required_fields) > 0)  {
    $script .= 'var noValue = false;'."\n";
    foreach($required_fields as $reqfield) {
      $values = explode('#', $reqfield);
      $myalias = strtolower(str_replace(array(' ', ':', "\r", "\n"), '_', $values[1]));
      $field_is_required = JText::_('FIELD_IS_REQUIRED');
      if ($field_is_required == 'FIELD_IS_REQUIRED') {
        $field_is_required = 'Field %s is required.';
      }
      $script .= 'if (document.getElementById("'.'myshortlist_'.$myalias.'").value == "") {'."\n".
                 '  alert("'.str_replace('%s', "'".$values[1]."'", $field_is_required).'");'."\n".
                 '  noValue = true;'."\n".
                 '}'."\n";
    }
    $script .= 'if (noValue == true) { return false; } else { return true; }'."\n";
  }
  else {
    $script .= 'return true;'."\n";
  }
  $script .= ' }';
  $document = JFactory::getDocument();
  $document->addScriptDeclaration($script, 'text/javascript');
  $document->addStyleDeclaration($style, 'text/css');

  print '<div id="shadowing"></div> <div id="box"><form method="post" onSubmit="return checkRequiredFields();">';
  print '<p>'.$email_label.'<br/><input type="text" name="myshortlist_email" maxlength="60" size="30"/></p>';
  if ($fcount > 0) {
    foreach($my_fields as $a_field) {
      $values = explode('#', $a_field);
      $myalias = strtolower(str_replace(array(' ', ':', "\r", "\n"), '_', $values[1]));
      if ($values[0] == 'textarea') {
        print '<p>'.$values[1].'<br/><textarea name="myshortlist_'.$myalias.'" id="myshortlist_'.$myalias.'" rows="4" cols="26"></textarea></p>';
      }
      else if ($values[0] == 'email') {
        print '<p>'.$values[1].'<br/><input type="email" name="myshortlist_'.$myalias.'" id="myshortlist_'.$myalias.'" maxlength="60" size="30"/></p>';
      }
      else {
        print '<p>'.$values[1].'<br/><input type="text" name="myshortlist_'.$myalias.'" id="myshortlist_'.$myalias.'" maxlength="60" size="30"/></p>';
      }
    }
  }
  print '<p><input type="submit" class="myshortlist button" name="'.$cookie_prefix.'send_to_admin" value="'.$send_button_text.'"/>';
  print '&nbsp;&nbsp;';
  print '<input type="button" class="myshortlist button" name="myshortlist_cancel" value="Cancel" onClick="closebox();"/></p>';
  print '</form></div>';

  print '<div class="myshortlist sendbutton" style="float: right; padding: 2px;"><form method="post">';
  print '<input type="button" class="myshortlist button" value="'.$send_button_text.'" onClick="openbox();"/>';
  print '</form></div>';
}

print '<div style="clear: both;"> </div>';

if ($component_exists == true) {
  print '<div class="myshortlist componentbutton" style="float: right; padding: 2px;">';
  $menuitemid = '';
  if ($component_link_menu_itemid != '') {
    $menuitemid = '&amp;Itemid='.$component_link_menu_itemid;
  }
  print '<a href="index.php?option=com_myshortlist'.$menuitemid.'" target="'.$target.'">'.$component_link_text.'</a>';
  print '</div>';
}

print '<div style="clear: both;"> </div>';

print '</div>' . "\n";

if ($showdebug != "0") {
  print '<div id="myshortlist_debug" style="position: fixed; bottom: 0; right: 0; border: 1px solid #D5D5D5; background: #F9F9F9; z-index: 10000;">';
  print '<table>';
    print '<tr><td>COOKIELIST: </td><td>'.$COOKIELIST.'</td></tr>';
    print '<tr><td>$_COOKIE: </td><td>';
    if (isset($_COOKIE[$cookie_prefix.'myshortlist'])) {
      print $_COOKIE[$cookie_prefix.'myshortlist'];
    }
    print '</td></tr>';
    print '<tr><td>AID: </td><td>'.$aid.'</td></tr>';
    print '<tr><td>OPTION: </td><td>'.htmlentities(JRequest::getVar('option')).'</td></tr>';
    print '<tr><td>VIEW: </td><td>'.htmlentities(JRequest::getVar('view')).'</td></tr>';
    print '<tr><td>TASK: </td><td>'.htmlentities(JRequest::getVar('task')).'</td></tr>';
    print '<tr><td>COOKIE_PREFIX: </td><td>'.$cookie_prefix.'</td></tr>';
    print '<tr><td>SAVE_METHOD: </td><td>'.$save_method.'</td></tr>';
  print '</table></div>';
}

return true;