Esempio n. 1
0
 function sc_faq_question($parm = '')
 {
     $tp = e107::getParser();
     $parm = eHelper::scDualParams($parm);
     $param = $parm[1];
     $params = $parm[2];
     $new = e107::pref('faqs', 'new', 3);
     $newDate = strtotime($new . " days ago");
     $faqNew = $this->var['faq_datestamp'] > $newDate ? " faq-new" : "";
     if ($param == 'expand' && !empty($this->var['faq_answer'])) {
         $id = "faq_" . $this->var['faq_id'];
         $url = e107::url('faqs', 'item', $this->var, 'full');
         $question = $tp->toHTML($this->var['faq_question'], true, 'TITLE');
         $hide = $this->item != $this->var['faq_id'] ? 'e-hideme' : '';
         $text = "\n\t\t\t<a class='e-expandit faq-question{$faqNew}' href='#{$id}'>" . $question . "</a>\n\t\t\t<div id='{$id}' class='" . $hide . " faq-answer faq_answer clearfix {$faqNew}'>";
         $text .= $tp->toHTML($this->var['faq_answer'], true, 'BODY');
         $text .= "<div class='faq-extras'>";
         if (vartrue($params['tags']) && $this->var['faq_tags']) {
             $text .= "<div class='faq-tags'>" . LAN_FAQS_TAGS . ": " . $this->sc_faq_tags() . "</div>";
         }
         if ($this->datestamp == true) {
             $text .= "<div class='faq-datestamp'>" . $tp->toDate($this->var['faq_datestamp']) . "</div>";
         }
         if ($this->share == true) {
             $text .= "<div class='faq-share'>" . $tp->parseTemplate("{SOCIALSHARE: size=xs&type=basic&url=" . $url . "&title=" . $question . "&tags=" . $this->var['faq_tags'] . "}", true) . "</div>";
         }
         $text .= "</div></div>\n\t\t\t";
     } else {
         $text = $tp->toHTML($this->var['faq_question'], true, 'BODY');
     }
     return $text;
 }
Esempio n. 2
0
File: url.php Progetto: armpit/e107
/**
 * Example usage (valid news data + option for full URL)
 * {URL=news/view/item|news_id=1&news_sef=sef-string&category_id=1&category_sef=category-sef&options[full]=1}
 */
function url_shortcode($parm)
{
    list($route, $parms) = eHelper::scDualParams($parm);
    if (empty($route)) {
        return '';
    }
    $options = array();
    if (isset($parms['options'])) {
        $options = $parms['options'];
        unset($parms['options']);
    }
    return e107::getUrl()->create($route, $parms, $options);
}
Esempio n. 3
0
File: bb_h.php Progetto: notzen/e107
 /**
  *	Translate to <h*> tag
  */
 function toHTML($code_text, $parm)
 {
     $code_text = trim($code_text);
     if (empty($code_text)) {
         return '';
     }
     $bparms = eHelper::scDualParams($parm);
     $h = 'h' . ($bparms[1] ? intval($bparms[1]) : 2);
     $parms = $bparms[2];
     unset($bparms);
     $class = " " . e107::getBB()->getClass('h2');
     // consistent classes across all themes.
     $id = varsettrue($parms['id']) ? ' id=' . eHelper::secureIdAttr($parms['id']) : '';
     $style = varsettrue($parms['style']) ? ' style="' . eHelper::secureStyleAttr($parms['style']) . '"' : '';
     return "<{$h}{$id}{$class}{$style}>" . $code_text . "</{$h}>";
 }
Esempio n. 4
0
 /**
  * Auto-thumbnailing now allowed.
  * New sc parameter standards
  * Exampes: 
  * - {NEWSTHUMBNAIL=link|w=200} render link with thumbnail max width 200px
  * - {NEWSTHUMBNAIL=|w=200} same as above
  * - {NEWSTHUMBNAIL=src|aw=200&ah=200} return thumb link only, size forced to 200px X 200px (smart thumbnailing close to how Facebook is doing it)
  * 
  * First parameter values: link|src|tag
  * Second parameter format: aw|w=xxx&ah|ah=xxx
  * 
  * @see eHelper::scDualParams()
  * @see eHelper::scParams()
  * XXX Also returns Video thumbnails. 
  */
 function sc_newsthumbnail($parm = '')
 {
     $tmp = $this->handleMultiple($parm, 'all');
     $newsThumb = $tmp['file'];
     $class = 'news-thumbnail-' . $tmp['count'];
     if (!$newsThumb && $parm != 'placeholder') {
         return '';
     }
     if ($vThumb = e107::getParser()->toVideo($newsThumb, array('thumb' => 'src'))) {
         $src = $vThumb;
         $_src = '#';
     } else {
         $parms = eHelper::scDualParams($parm);
         if (empty($parms[2])) {
             $parms[2] = array('aw' => e107::getParser()->thumbWidth(), 'ah' => e107::getParser()->thumbHeight());
         }
         if (isset($parms[2]['legacy']) && $parms[2]['legacy'] == true) {
             if ($newsThumb[0] != '{') {
                 $newsThumb = '{e_IMAGE}newspost_images/' . $newsThumb;
             }
             $tmp = str_replace('newspost_images/thumb_', 'newspost_images/', $newsThumb);
             // swap out thumb for image.
             if (is_readable(e_IMAGE . $tmp)) {
                 $newsThumb = $tmp;
             }
             unset($parms[2]);
         }
         // We store SC path in DB now + BC
         $_src = $src = $newsThumb[0] == '{' || $parms[1] == 'placeholder' ? e107::getParser()->replaceConstants($newsThumb, 'abs') : e_IMAGE_ABS . "newspost_images/" . $newsThumb;
         if ($parms[2] || $parms[1] == 'placeholder') {
             $src = e107::getParser()->thumbUrl($src, $parms[2]);
         }
     }
     switch ($parms[1]) {
         case 'src':
             return $src;
             break;
         case 'tag':
             return "<img class='news_image " . $class . "' src='" . $src . "' alt='' style='" . $this->param['thumbnail'] . "' />";
             break;
         case 'img':
             return "<a href='" . $_src . "' rel='external image'><img class='news_image " . $class . "' src='" . $src . "' alt='' style='" . $this->param['thumbnail'] . "' /></a>";
             break;
         default:
             return "<a href='" . e107::getUrl()->create('news/view/item', $this->news_item) . "'><img class='news_image img-responsive img-rounded " . $class . "' src='" . $src . "' alt='' style='" . $this->param['thumbnail'] . "' /></a>";
             break;
     }
 }
Esempio n. 5
0
 /**
  * Auto-thumbnailing now allowed.
  * New sc parameter standards
  * Exampes: 
  * - {CPAGETHUMBNAIL=e_MEDIA/images/someimage.jpg|type=tag&w=200} render link with thumbnail max width 200px
  * - {CPAGETHUMBNAIL=images/someimage.jpg|w=200} same as above
  * - {CPAGETHUMBNAIL=images/someimage.jpg|type=src&aw=200&ah=200} return thumb link only, size forced to 200px X 200px (smart thumbnailing close to how Facebook is doing it)
  * 
  * @see eHelper::scDualParams()
  * @see eHelper::scParams()
  */
 function sc_cpagethumbnail($parm = '')
 {
     $parms = eHelper::scDualParams($parm);
     if (empty($parms[1])) {
         return '';
     }
     $tp = e107::getParser();
     $path = rawurldecode($parms[1]);
     if (substr($path, 0, 2) === 'e_') {
         $path = str_replace($tp->getUrlConstants('raw'), $tp->getUrlConstants('sc'), $path);
     } elseif ($path[0] !== '{') {
         $path = '{e_MEDIA}' . $path;
     }
     $thumb = $tp->thumbUrl($path);
     $type = varset($parms[2]['type'], 'tag');
     switch ($type) {
         case 'src':
             return $thumb;
             break;
         case 'link':
             return '<a href="' . $tp->replaceConstants($path, 'abs') . '" class="cpage-image" rel="external image"><img class="cpage-image" src="' . $src . '" alt="' . varset($parms[1]['alt']) . '" /></a>';
             break;
         case 'tag':
         default:
             return '<img class="cpage-image" src="' . $thumb . '" alt="' . varset($parms[1]['alt']) . '" />';
             break;
     }
 }
Esempio n. 6
0
 /**
  * All possible parameters
  * {GALLERY_SLIDES=4|limit=16&template=MY_SLIDESHOW_SLIDE_ITEM}
  * first parameter is always number of slides, default is 3
  * limit - (optional) total limit of pcitures to be shown
  * template - (optional) template - name of template to be used for parsing the slideshow item
  */
 function sc_gallery_slides($parm)
 {
     $tp = e107::getParser();
     $this->slideMode = TRUE;
     $parms = eHelper::scDualParams($parm);
     $amount = $parms[1] ? intval($parms[1]) : 3;
     // vartrue(e107::getPlugPref('gallery','slideshow_perslide'),3);
     $parms = $parms[2];
     $limit = (int) vartrue($parms['limit'], 16);
     $list = e107::getMedia()->getImages('gallery_' . $this->sliderCat . '|gallery_image_' . $this->sliderCat, 0, $limit);
     $tmpl = e107::getTemplate('gallery', 'gallery');
     $tmpl = array_change_key_case($tmpl);
     // change template key to lowercase (BC fix)
     $tmpl_key = vartrue($parms['template'], 'slideshow_slide_item');
     $item_template = $tmpl[$tmpl_key];
     // e107::getTemplate('gallery','gallery', vartrue($parms['template'], 'SLIDESHOW_SLIDE_ITEM'));
     $catList = e107::getMedia()->getCategories('gallery');
     $cat = $catList['gallery_' . $this->sliderCat];
     $count = 1;
     foreach ($list as $row) {
         $this->setVars($row)->addVars($cat);
         $inner .= $count == 1 ? "\n\n<!-- SLIDE " . $count . " -->\n<div class='slide' id='gallery-item-" . $this->slideCount . "'>\n" : "";
         $inner .= "\n\t" . $tp->parseTemplate($item_template, TRUE) . "\n";
         $inner .= $count == $amount ? "\n</div>\n\n" : "";
         if ($count == $amount) {
             $count = 1;
             $this->slideCount++;
         } else {
             $count++;
         }
     }
     $inner .= $count != 1 ? "</div><!-- END SLIDES -->" : "";
     return $inner;
 }
Esempio n. 7
0
 /**
  * Auto-thumbnailing now allowed.
  * New sc parameter standards
  * Exampes: 
  * - {NEWSTHUMBNAIL=link|w=200} render link with thumbnail max width 200px
  * - {NEWSTHUMBNAIL=|w=200} same as above
  * - {NEWSTHUMBNAIL=src|aw=200&ah=200} return thumb link only, size forced to 200px X 200px (smart thumbnailing close to how Facebook is doing it)
  * 
  * First parameter values: link|src|tag
  * Second parameter format: aw|w=xxx&ah|ah=xxx
  * 
  * @see eHelper::scDualParams()
  * @see eHelper::scParams()
  */
 function sc_newsthumbnail($parm = '')
 {
     if (!$this->news_item['news_thumbnail']) {
         return '';
     }
     $parms = eHelper::scDualParams($parm);
     // We store SC path in DB now + BC
     $_src = $src = $this->news_item['news_thumbnail'][0] == '{' ? e107::getParser()->replaceConstants($this->news_item['news_thumbnail'], 'abs') : e_IMAGE_ABS . "newspost_images/" . $this->news_item['news_thumbnail'];
     if ($parms[2]) {
         $src = e107::getParser()->thumbUrl($src, $parms[2]);
     }
     switch ($parms[1]) {
         case 'src':
             return $src;
             break;
         case 'tag':
             return "<img class='news_image' src='" . $src . "' alt='' style='" . $this->param['thumbnail'] . "' />";
             break;
         case 'img':
             return "<a href='" . $_src . "' rel='external image'><img class='news_image' src='" . $src . "' alt='' style='" . $this->param['thumbnail'] . "' /></a>";
             break;
         default:
             return "<a href='" . $this->e107->url->create('news/view/item', $this->news_item) . "'><img class='news_image' src='" . $src . "' alt='' style='" . $this->param['thumbnail'] . "' /></a>";
             break;
     }
 }