Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
News Manager (updated) Fancy-URLs
#1
Hallo Community,

ich habe ein Problem mit dem Plugin "News Manager (updated)"...

Das Plugin funktioniert soweit, nur die Beitragsbilder werden nicht im Link dargestellt sodass Fancy-URLs nicht funktionieren kann. 

Die .htaccess-Datei habe ich wie beschrieben geändert. 

Ich arbeite mit Xampp und habe, wie hier im Forum schon erwähnt wurde die Apache httpd.conf bearbeitet:
Code:
<Directory />
   AllowOverride All
   Require all denied
</Directory>

Ohne Erfolg  Dodgy

Was kann ich noch machen bzw. welche Einstellungen muss ich in GetSimple machen?

Wenn ich ein Beitragsbild direkt im Artikel über dem Editor rein stelle und mit der Fancybox verlinke funktioniert alles perfekt. 

Danke...


Attached Files Thumbnail(s)
   
Reply
#2
(2017-10-06, 09:12:55)jangro1982 Wrote: Das Plugin funktioniert soweit, nur die Beitragsbilder werden nicht im Link dargestellt sodass Fancy-URLs nicht funktionieren kann. 

Wie sieht denn der Quelltext aus? Was ist bei dir anders?

Code:
<div class="nm_post">
   <h3 class="nm_post_title"><a href="...">Titel</a></h3>
   <p class="nm_post_date">Veröffentlicht am ...</p>
   <div class="nm_post_image"><a href="..."><img src="/data/uploads/..." alt="..." /></a></div>
   <div class="nm_post_content"><p>lorem ipsum [...] <span class="nm_readmore"><a href="...">Weiterlesen</a></span></p></div>
 </div>

Alex
Reply
#3
Hallo Alex, danke für deine Antwort.

Quote:Wie sieht denn der Quelltext aus? Was ist bei dir anders?


Code:
<div class="nm_post">
   <h3 class="nm_post_title"><a href="...">...</a></h3>
   <p class="nm_post_date">Veröffentlicht am ...</p>
   <div class="nm_post_image"><img src="..." alt="... " /></div>
   <div class="nm_post_content"><p> ...">Weiterlesen</a></span></p>    </div>
 </div>

Bei mir fehlt quasi der Link des Bildes im Quelltext:
Code:
<div class="nm_post_image"><a href="..."><img src="/data/uploads/..." alt="..." /></a></div>


Die site.php sieht folgt aus: (Weiß aber nicht ob die damit was zu tun)
PHP Code:
<?php if (!defined('IN_GS')) {die('you cannot load this page directly.');}

/**
 * News Manager front-end functions.
 */


/*******************************************************
 * @function nm_show_page
 * @param $index - page index (pagination)
 * @param $filter - if true, apply content filter
 * @action show posts on news page
 */
function nm_show_page($index=NMFIRSTPAGE$filter=true) {
  global $NMPOSTSPERPAGE$nmoption;
  $p1 intval(NMFIRSTPAGE);
  $index intval($index);
  $posts nm_get_posts_default();
  $pages array_chunk($postsintval($NMPOSTSPERPAGE), true);
  if ($index >= $p1 && $index-$p1 sizeof($pages))
    $posts $pages[$index-$p1];
  else
    $posts = array();
  if (!empty($posts)) {
    $showexcerpt nm_get_option('excerpt');
    if ($filterob_start();
    foreach ($posts as $post)
      nm_show_post($post->slug$showexcerptfalse);
    if (sizeof($pages) > && nm_get_option('shownav',true))
      nm_show_navigation($indexsizeof($pages));
    if ($filter) echo nm_ob_get_content(true);
    return true;
  } else {
    echo '<p>',i18n_r('news_manager/NO_POSTS'),'</p>';
    return false;
  }
}


/*******************************************************
 * @function nm_show_archive
 * @param $archive - unique archive id
 * @param $filter - if true, apply content filter
 * @action show posts by archive
 * @return true if posts shown
 */
function nm_show_archive($archive$filter=true) {
  global $NMSETTING;
  $archives nm_get_archives($NMSETTING['archivesby']);
  if (array_key_exists($archive$archives)) {
    $showexcerpt nm_get_option('excerpt');
    $posts $archives[$archive];
    if ($filterob_start();
    foreach ($posts as $slug)
      nm_show_post($slug$showexcerptfalse);
    if ($filter) echo nm_ob_get_content(true);
    return true;
  } else {
    echo '<p>',i18n_r('news_manager/NO_POSTS'),'</p>';
    return false;
  }
}

/*******************************************************
 * @function nm_show_tag_archive
 * @param $tag - tag to filter by
 * @param $archive - unique archive id
 * @param $filter - if true, apply content filter
 * @action show tagged posts by archive
 * @return true if posts shown
 * @since 3.3
 */
function nm_show_tag_archive($tag=null$archive$filter=true) {
  global $NMSETTING;
  $archives nm_get_archives($NMSETTING['archivesby'], $tag);
  if (array_key_exists($archive$archives)) {
    $showexcerpt nm_get_option('excerpt');
    $posts $archives[$archive];
    if ($filterob_start();
    foreach ($posts as $slug)
      nm_show_post($slug$showexcerptfalse);
    if ($filter) echo nm_ob_get_content(true);
    return true;
  } else {
    echo '<p>',i18n_r('news_manager/NO_POSTS'),'</p>';
    return false;
  }
}


/*******************************************************
 * @function nm_show_tag
 * @param $tag - unique tag id
 * @param $filter - if true, apply content filter
 * @action show posts by tag
 * @return true if posts shown
 */
function nm_show_tag($tag$filter=true) {
  $tag nm_lowercase_tags($tag);
  $tags nm_get_tags();
  if (array_key_exists($tag$tags)) {
    $showexcerpt nm_get_option('excerpt');
    $posts $tags[$tag];
    $max intval(nm_get_option('maxposts'));
    if ($max$posts array_slice($posts0$max);
    if ($filterob_start();
    foreach ($posts as $slug)
      nm_show_post($slug$showexcerptfalse);
    if ($filter) echo nm_ob_get_content(true);
    return true;
  } else {
    echo '<p>',i18n_r('news_manager/NO_POSTS'),'</p>';
    return false;
  }
}

/*******************************************************
 * @function nm_show_tag_page
 * @param $tag - unique tag id
 * @param $index - page index (pagination)
 * @param $filter - if true, apply content filter
 * @action show posts by tag with pagination
 * @return true if posts shown
 * @since 3.0
 */
function nm_show_tag_page($tag$index=NMFIRSTPAGE$filter=true) {
  global $NMPOSTSPERPAGE;
  $tag nm_lowercase_tags($tag);
  $tags nm_get_tags();
  if (array_key_exists($tag$tags)) {
    $showexcerpt nm_get_option('excerpt');
    $posts $tags[$tag];
    $p1 intval(NMFIRSTPAGE);
    $index intval($index);
    $pages array_chunk($postsintval($NMPOSTSPERPAGE), true);
    if ($index >= $p1 && $index-$p1 sizeof($pages)) {
      $posts $pages[$index-$p1];
      if ($filterob_start();
      foreach ($posts as $slug)
        nm_show_post($slug$showexcerptfalse);
      if (sizeof($pages) > && nm_get_option('shownav',true))
        nm_show_navigation($indexsizeof($pages), $tag);
      if ($filter) echo nm_ob_get_content(true);
      return true;
    }
  }
  echo '<p>',i18n_r('news_manager/NO_POSTS'),'</p>';
  return false;
}


/*******************************************************
 * @function nm_show_search_results()
 * @action search posts by keyword(s)
 */
function nm_show_search_results() {
  $keywords preg_split('/\s+/u',trim($_POST['keywords']),null,PREG_SPLIT_NO_EMPTY);
  if (empty($keywords)) {
    $posts = array();
  } else {
    $posts nm_get_posts();
    $mb function_exists('mb_stripos');
    foreach ($keywords as $keyword) {
      $match = array();
      foreach ($posts as $post) {
        $data getXML(NMPOSTPATH.$post->slug.'.xml');
        $content $data->title $data->content;
        if (($mb && mb_stripos($content$keyword0'UTF-8') !== false) || (!$mb && stripos($content$keyword) !== false))
          $match[] = $post;
      }
      $posts $match;
    }
  }
  if (!empty($posts)) {
    $showexcerpt nm_get_option('excerpt');
    echo '<p>' i18n_r('news_manager/FOUND') . '</p>',"\n";
    foreach ($posts as $post)
      nm_show_post($post->slug$showexcerptfalse);
  } else {
    echo '<p>' i18n_r('news_manager/NOT_FOUND') . '</p>',"\n";
  }
}

/*******************************************************
 * @function nm_reset_options
 * @param $pagetype news page type, can be 'single', 'main', 'archive', 'tag', 'search' or empty
 * @action set default or specific layout values
 * @since 3.0
 */
function nm_reset_options($pagetype='') {
  global $nmoption$NMSETTING$NMSHOWEXCERPT;
  $nmoption = array();

  # title link
  $nmoption['titlelink'] = ($NMSETTING['titlelink']=='Y' || ($NMSETTING['titlelink']=='P' && $pagetype != 'single'));

  # go back link
  if ($pagetype == 'single') {
    if ($NMSETTING['gobacklink'] == 'N')
      $nmoption['gobacklink'] = false;
    elseif ($NMSETTING['gobacklink'] == 'M')
      $nmoption['gobacklink'] = 'main';
    else
      $nmoption['gobacklink'] = true;
  }

  # tag separator
  $nmoption['tagseparator'] = ' ';

  # author
  $nmoption['showauthor'] = false;
  $nmoption['defaultauthor'] = '';

  # images
  if ( $NMSETTING['images'] == 'N'
    || ($pagetype == 'single' && $NMSETTING['images'] == 'P')
    || ($pagetype != 'main' && $NMSETTING['images'] == 'M') ) {
    $nmoption['showimages'] = false;
  } else {
    $nmoption['showimages'] = true;
  }
  $nmoption['imagewidth'] = intval($NMSETTING['imagewidth']);
  $nmoption['imageheight'] = intval($NMSETTING['imageheight']);
  $nmoption['imagecrop'] = ($NMSETTING['imagecrop'] == '1');
  $nmoption['imagealt'] = ($NMSETTING['imagealt'] == '1');
  $nmoption['imagelink'] = ($pagetype != 'single' && $NMSETTING['imagelink'] == '1');
  $nmoption['imagetitle'] = false;
  $nmoption['imageexternal'] = false;
  $nmoption['imagedefault'] = '';
  $nmoption['imagesizeattr'] = false;
  $nmoption['imagethumbnail'] = false;

  # custom settings
  if ($NMSETTING['enablecustomsettings'] == '1') {
    # extract settings
    foreach(preg_split('~\R~'$NMSETTING['customsettings']) as $line) {
      $line trim($line);
      if ($line && strpos($line,'#') !== && strpos($line,'//') !== 0) { // exclude empty and commented lines
        $arr explode(' ',preg_replace("/[[:blank:]]+/"," ",$line));
        if (count($arr) > 1) {
          if (in_array($arr[0], array('main','single','archive','tag','search')))
            $customsettings[$arr[0]][$arr[1]] = implode(' ',array_slice($arr,2));
          else
            $customsettings['default'][$arr[0]] = implode(' ',array_slice($arr,1));
        }
      }
    }
    # process settings and strings
    foreach(array('default'$pagetype) as $type) {
      if (isset($customsettings[$type])) {
        foreach($customsettings[$type] as $key=>$value) {
          if (substr($value,0,1) == '"' || substr($value,0,1) == "'"$value substr($value,1,strlen($value)-2);
          if (strtoupper($key) == $key) {
            # language string
            nm_set_text($key$value);
          } else {
            # setting
            $nmoption[strtolower($key)] = $value;
          }
        }
      }
    }
  }

  # html tags
  foreach (array(
    'markuppost'        => 'div',
    'markupposttitle'   => isset($nmoption['markuptitle']) ? nm_clean_markup($nmoption['markuptitle']) : 'h3'// backwards NM 3.0
    'markuppostdate'    => 'p',
    'markuppostauthor'  => 'p',
    'markuppostauthorname' => 'em',
    'markuppostimage'   => 'div',
    'markuppostcontent' => 'div',
    'markupposttags'    => 'p',
    'markupgoback'      => 'p',
    ) as $key=>$value)
      $nmoption[$key] = isset($nmoption[$key]) ? nm_clean_markup($nmoption[$key]) : $value;

  # fields
  if (isset($nmoption['showfields'])) {
    $nmoption['fields'] = explode(' ',preg_replace('/  +/'' ',trim(str_replace(',',' ',$nmoption['showfields']))));
  } else {
    $nmoption['fields'] = array('title','date','author','image','content','tags');
  }

  # imagesize shorthand
  if (isset($nmoption['imagesize'])) {
    if ($nmoption['imagesize'] == || $nmoption['imagesize'] == 'full') {
      $nmoption['imagewidth'] = 0;
      $nmoption['imageheight'] = 0;
      $nmoption['imagecrop'] = 0;
    } else {
      $imageparams explode(' ',preg_replace('/  +/'' ',trim(str_replace(',',' ',$nmoption['imagesize']))));
      $nmoption['imagewidth'] = isset($imageparams[0]) ? $imageparams[0] : 0;
      $nmoption['imageheight'] = isset($imageparams[1]) ? $imageparams[1] : 0;
      $nmoption['imagecrop'] = isset($imageparams[2]) ? $imageparams[2] : 0;
    }
  }

  # custom excerpt length
  if (isset($nmoption['excerptlength'])) {
    global $NMEXCERPTLENGTH;
    $NMEXCERPTLENGTH $nmoption['excerptlength']; // workaround(*)
  }

  # more
  if (!isset($nmoption['more'])) $nmoption['more'] = false;

  # full/excerpt
  if (!isset($nmoption['excerpt'])) {
    if ($NMSHOWEXCERPT == 'Y' || in_array($pagetype, array('archive','search','tag')))
      $nmoption['excerpt'] = true;
    else
      $nmoption['excerpt'] = false// full post
  }

  # readmore
  if (isset($nmoption['readmore'])) {
    if (strtolower($nmoption['readmore'][0]) == 'a'// custom setting - anything beginning with 'a' (all, Always, ...)
      $nmoption['readmore'] = 'a';
  } else {
    if ($NMSETTING['readmore'] == 'R')
      $nmoption['readmore'] = true;
    elseif ($NMSETTING['readmore'] == 'F')
      $nmoption['readmore'] = 'a';
    else
      $nmoption['readmore'] = false;
  }

  # tag pagination
  if (!isset($nmoption['tagpagination'])) {
    $nmoption['tagpagination'] = false;
  } else { // anything beginning with 'd' (Default, Dynamic...) or 'f' (Fancy, Folder...)
    $nmoption['tagpagination'] = strtolower($nmoption['tagpagination'][0]);
    if (!in_array($nmoption['tagpagination'], array('d','f')))
      $nmoption['tagpagination'] = false;
  }

  # tag archives
  if (!isset($nmoption['tagarchives'])) {
    $nmoption['tagarchives'] = false;
  } else { // anything beginning with 'd' (Default, Dynamic...) or 'f' (Fancy, Folder...)
    $nmoption['tagarchives'] = strtolower($nmoption['tagarchives'][0]);
    if (!in_array($nmoption['tagarchives'], array('d','f')))
      $nmoption['tagarchives'] = false;
  }

  # append custom classes for layout elements
  foreach (array(
    'classpost'           => 'nm_post'.($pagetype == 'single' ' nm_post_single' ''),
    'classposttitle'      => 'nm_post_title',
    'classposttitlelink'  => '',
    'classpostdate'       => 'nm_post_date',
    'classpostauthor'     => 'nm_post_author',
    'classpostimage'      => 'nm_post_image',
    'classpostimagelink'  => '',
    'classpostcontent'    => 'nm_post_content',
    'classreadmore'       => 'nm_readmore',
    'classreadmorelink'   => '',
    'classposttags'       => 'nm_post_meta',
    'classgoback'         => 'nm_post_back',
    'classgobacklink'     => '',
    'classnav'            => 'nm_page_nav',
    ) as $key=>$value)
    $nmoption[$key] = !isset($nmoption[$key]) ? $value nm_clean_classes($value.' '.$nmoption[$key]);

}


/*******************************************************
 * @function nm_show_post
 * @param $slug post slug
 * @param $showexcerpt - if TRUE, print only a short summary
 * @param $filter - if true, apply content filter
 * @param $single post page?
 * @action show the requested post on front-end news page, as defined by $nmoption values
 * @return true if post exists
 */
function nm_show_post($slug$showexcerpt=false$filter=true$single=false) {
  global $nmoption$nmdata;
  $file NMPOSTPATH.$slug.'.xml';
  if (dirname(realpath($file)) == realpath(NMPOSTPATH)) // no path traversal
    $post = @getXML($file);
  if (!empty($post) && ($post->private != 'Y' || ($single && function_exists('is_logged_in') && is_logged_in()))) {
    $url     nm_get_url('post') . $slug;
    $title   stripslashes($post->title);
    $unixtime strtotime($post->date);
    $date    nm_get_date(i18n_r('news_manager/DATE_FORMAT'), $unixtime);
    $content strip_decode($post->content);
    $image   stripslashes($post->image);
    $tags = !empty($post->tags) ? explode(','nm_lowercase_tags(strip_decode($post->tags))) : array();

    # save post data?
    $nmdata = ($single) ? compact('slug''url''title''content''image''tags''unixtime') : array();

    if ($filterob_start();

    echo '  <',$nmoption['markuppost'],' class="',$nmoption['classpost'],'">',"\n";

    foreach ($nmoption['fields'] as $field) {
      switch($field) {

        case 'title':
          echo '    <',$nmoption['markupposttitle'],' class="',$nmoption['classposttitle'],'">';
          if ($nmoption['titlelink']) {
            $class $nmoption['classposttitlelink'] ? ' class="'.$nmoption['classposttitlelink'].'"' '';
            echo '<a',$class,' href="',$url,'">',$title,'</a>';
          } else {
            echo $title;
          }
          echo '</',$nmoption['markupposttitle'],'>',"\n";
          break;

        case 'date':
          echo '    <',$nmoption['markuppostdate'],' class="',$nmoption['classpostdate'],'">',i18n_r('news_manager/PUBLISHED'),' ',$date,'</',$nmoption['markuppostdate'],'>',"\n";
          break;

        case 'content':
          echo '    <',$nmoption['markuppostcontent'],' class="',$nmoption['classpostcontent'],'">';
          if ($single) {
            echo $content;
          } else {
            $slice '';
            $class '';
            $readmore $nmoption['readmore'];
            if ($readmore)
              $class $nmoption['classreadmorelink'] ? ' class="'.$nmoption['classreadmorelink'].'"' '';
            if ($nmoption['more']) {
              $morepos strpos($content'<hr');
              if ($morepos !== false) {
                $slice substr($content0$morepos);
                if ($readmore)
                  $slice .= '      <p class="'.$nmoption['classreadmore'].'"><a'.$class.' href="'.$url.'">'.i18n_r('news_manager/READ_MORE').'</a></p>'."\n";
              }
            }
            if ($slice) {
              echo $slice;
            } else {
              if ($showexcerpt) {
                if (!$readmore)
                  echo nm_create_excerpt($content);
                elseif ($readmore === 'a')
                  echo nm_create_excerpt($content$urltrue);
                else
                  echo nm_create_excerpt($content$url);
              } else {
                echo $content;
                if ($readmore === 'a')
                  echo '      <p class="',$nmoption['classreadmore'],'"><a',$class,' href="',$url,'">',i18n_r('news_manager/READ_MORE'),'</a></p>',"\n";
              }
            }
          }
          echo '    </',$nmoption['markuppostcontent'],'>',"\n";
          break;

        case 'tags':
          if ($tags) {
            echo '    <',$nmoption['markupposttags'],' class="',$nmoption['classposttags'],'"><b>',i18n_r('news_manager/TAGS'),':</b> ';
            $sep '';
            foreach ($tags as $tag)
              if (substr($tag01) != '_') {
                echo $sep,'<a href="',nm_get_url('tag').rawurlencode($tag),'">',htmlspecialchars($tag),'</a>';
                if ($sep == ''$sep $nmoption['tagseparator'];
              }
            echo '</',$nmoption['markupposttags'],'>',"\n";
          }
          break;

        case 'image':
          $imageurl $nmoption['showimages'] ? nm_get_image_url($image) : false;
          if ($imageurl) {
            $str '';
            if (isset($nmoption['imageclass']))
              $str .= ' class="'.$nmoption['imageclass'].'"';
            if ($nmoption['imagesizeattr'] && $nmoption['imagewidth'] && $nmoption['imageheight'])
              $str .= ' width="'.$nmoption['imagewidth'].'" height="'.$nmoption['imageheight'].'"';
            $str .= $nmoption['imagealt']   ' alt="'.htmlspecialchars($titleENT_COMPAT).'"' ' alt=""';
            $str .= $nmoption['imagetitle'] ? ' title="'.htmlspecialchars($titleENT_COMPAT).'"' '';
            $str '<img src="'.htmlspecialchars($imageurl).'"'.$str.' />';
            if ($nmoption['imagelink']) {
              if ($nmoption['imagelink'] !== 'full')
                $str $url.'">'.$str.'</a>';
              else
                $str htmlspecialchars(nm_get_image_url($image,0,0)).'">'.$str.'</a>';
              if ($nmoption['classpostimagelink'])
                $str '<a class="'.$nmoption['classpostimagelink'].'" href="'.$str;
              else
                $str '<a href="'.$str;
            }
            echo '    <',$nmoption['markuppostimage'],' class="',$nmoption['classpostimage'],'">',$str,'</',$nmoption['markuppostimage'],'>',"\n";
          }
          break;

        case 'author':
          if ($nmoption['showauthor']) {
            $author nm_get_author_name_html(stripslashes($post->author));
            if (empty($author) && $nmoption['defaultauthor'])
              $author $nmoption['defaultauthor'];
            if (!empty($author))
                echo '    <',$nmoption['markuppostauthor'],' class="',$nmoption['classpostauthor'],'">',i18n_r('news_manager/AUTHOR'),' <',$nmoption['markuppostauthorname'],'>',$author,'</',$nmoption['markuppostauthorname'],'></',$nmoption['markuppostauthor'],'>',"\n";
          }
          break;
      }
    }

    if (isset($nmoption['componentbottompost'])) {
      get_component($nmoption['componentbottompost']);
      echo "\n";
    }
    if ($single) {
      # show "go back" link?
      if ($nmoption['gobacklink']) {
        $goback = ($nmoption['gobacklink'] === 'main') ? nm_get_url() : 'javascript:history.back()';
        $class $nmoption['classgobacklink'] ? ' class="'.$nmoption['classgobacklink'].'"' '';
        echo '    <',$nmoption['markupgoback'],' class="'.$nmoption['classgoback'].'"><a',$class,' href="'.$goback.'">';
        i18n('news_manager/GO_BACK');
        echo '</a></',$nmoption['markupgoback'],'>',"\n";
      }
    }

    echo '  </',$nmoption['markuppost'],'>',"\n";

    if (isset($nmoption['componentafterpost'])) {
      get_component($nmoption['componentafterpost']);
      echo "\n";
    }

    if ($filter) echo nm_ob_get_content(true);

    return true;
  } else {
    echo '<p>' i18n_r('news_manager/NOT_EXIST') . '</p>',"\n";
    return false;
  }
}


/*******************************************************
 * @function nm_show_navigation
 * @param $index - current page index
 * @param $total - total number of subpages
 * @param $tag - tag to filter by (optional)
 * @action provides links to navigate between subpages in main news or tag page
 */
function nm_show_navigation($index$total$tag=null) {
  $p1 intval(NMFIRSTPAGE);
  if (!$tag) {
    $first nm_get_url();
    $page nm_get_url('page');
  } else {
    $first nm_get_url('tag').rawurlencode($tag);
    if (nm_get_option('tagpagination') == 'f')
      $page $first.'/'.NMPARAMPAGE.'/';
    else
      $page $first.'&amp;'.NMPARAMPAGE.'=';
  }

  $container  nm_clean_markup(nm_get_option('markupnavcontainer',''));
  $nav        nm_clean_markup(nm_get_option('markupnav','div'));
  $item       nm_clean_markup(nm_get_option('markupnavitem','span'));

  $clcontainer  nm_clean_classes(nm_get_option('classnavcontainer',''));
  $clnav        nm_clean_classes(nm_get_option('classnav'));
  $clprev       nm_clean_classes(nm_get_option('classnavitemprev','previous'));
  $clnext       nm_clean_classes(nm_get_option('classnavitemnext','next'));
  $cldisabled   nm_clean_classes(nm_get_option('classnavitemdisabled','disabled'));
  $clcurrent    nm_clean_classes(nm_get_option('classnavitemcurrent','current'));

  if ($container)
    echo "<$container",nm_class_attr($clcontainer),">\n";
  echo "<$nav",nm_class_attr($clnav),">\n";

  if (!nm_get_option('navoldnew',false)) {

    $prevnext nm_get_option('navprevnext''1');
    $showalways = (strtolower($prevnext[0]) == 'a'); // navPrevNext a[lways]
    if ($prevnext && $index $p1) {
      echo " <$item",nm_class_attr($clprev),"><a href=\"";
      echo $index $p1+$page.($index-1) : $first;
      echo "\" title=\"",i18n_r('news_manager/PREV_TITLE'),'">',i18n_r('news_manager/PREV_TEXT'),"</a></$item>\n";
    } else {
      if ($showalways)
        echo " <$item",nm_class_attr($clprev.' '.$cldisabled),"><span>",i18n_r('news_manager/PREV_TEXT'),"</span></$item>\n";
    }

    if (nm_get_option('navnumber',true)) {
      $end nm_get_option('navendsize',1);
      $mid nm_get_option('navmidsize',2);
      if (nm_get_option('navfixsize',true)) {
        # if near one of the two ends, adjust $mid to keep fixed number of items
        if ($index-$p1 <= $mid+$end) {
          $mid $mid*2+$end-($index-$p1);
        } elseif ($index-$p1 >= $total-1-($mid+$end)) {
          $mid $mid*2+$end-($total-1-($index-$p1));
        }
      }
      $ellipsis nm_get_option('navellipsis','...');
      $clellipsis nm_clean_classes(nm_get_option('classnavellipsis','ellipsis'));
      $gap false;
      for ($i 0$i $total$i++) {
        if ($i+$p1 == $index) {
          echo " <$item",nm_class_attr($clcurrent),"><span>",$i+1,"</span></$item>\n";
          $gap false;
        } else {
          if ( ($i+$p1 >= $index-$mid && $i+$p1 <= $index+$mid) || $i <= $end-|| $i >= $total-$end) {
            echo " <$item><a href=\"";
            echo $i == $first $page.($i+$p1);
            echo "\">",$i+1,"</a></$item>\n";
            $gap false;
          } else {
            if (!$gap) {
              echo " <$item",nm_class_attr($clellipsis),">$ellipsis</$item>\n";
              $gap true;
            }
          }
        }
      }
    }

    if ($prevnext && $index $total-1+$p1) {
      echo " <$item",nm_class_attr($clnext),"><a href=\"",$page.($index+1);
      echo "\" title=\"",i18n_r('news_manager/NEXT_TITLE'),"\">",i18n_r('news_manager/NEXT_TEXT'),"</a></$item>\n";
    } else {
      if ($showalways)
        echo " <$item",nm_class_attr($clnext.' '.$cldisabled),"><span>",i18n_r('news_manager/NEXT_TEXT'),"</span></$item>\n";
    }

  } else {

    # Older/Newer navigation
    $clold nm_clean_classes(nm_get_option('classnavitemold','left'));
    $clnew nm_clean_classes(nm_get_option('classnavitemnew','right'));

    $showalways = (strtolower(substr(nm_get_option('navoldnew'),0,1)) == 'a'); // navOldNew a[lways]
    if ($index $total-1+$p1) {
      echo "<$item",nm_class_attr($clold),">";
      echo "<a href=\"",$page.($index+1),"\">",i18n_r('news_manager/OLDER_POSTS'),"</a>";
      echo "</$item>\n";
    } else {
      if ($showalways)
        echo " <$item",nm_class_attr($clold.' '.$cldisabled),"><span>",i18n_r('news_manager/OLDER_POSTS'),"</span></$item>\n";
    }
    if ($index $p1) {
      echo "<$item",nm_class_attr($clnew),">";
      echo "<a href=\"",(($index $p1+1) ? $page.($index-1) : $first),"\">",i18n_r('news_manager/NEWER_POSTS'),"</a>";
      echo "</$item>\n";
    } else {
      if ($showalways)
        echo " <$item",nm_class_attr($clnew.' '.$cldisabled),"><span>",i18n_r('news_manager/NEWER_POSTS'),"</span></$item>\n";
    }

  }
  echo "</$nav>\n";
  if ($container) echo "</$container>\n";
}


/*******************************************************
 * @function nm_post_title
 * @param $before Text to place before the title. Defaults to ''
 * @param $after Text to place after the title. Defaults to ''
 * @param $echo Display (true) or return (false)
 * @action Display or return the post title. Returns false if not on single post page
 * @since 2.3
 */
function nm_post_title($before=''$after=''$echo=true) {
  global $nmdata;
  if (isset($nmdata['title']) && $nmdata['title']) {
    $title $before.$nmdata['title'].$after;
    if ($echo) echo $title;
    return $title;
  } else {
    return false;
  }
}

/*******************************************************
 * @function nm_post_slug
 * @param $echo Display (true) or return (false)
 * @action Display or return the post id (slug)
 * @return slug or false if not on single post page
 * @since 3.0
 */
function nm_post_slug($echo=true) {
  global $nmdata;
  if (isset($nmdata['slug']) && $nmdata['slug']) {
    $slug $nmdata['slug'];
    if ($echo) echo $slug;
    return $slug;
  } else {
    return false;
  }
}

/*******************************************************
 * @function nm_post_url
 * @param $echo Display (true) or return (false)
 * @action Display or return the post URL
 * @return URL or false if not on single post page
 * @since 3.0
 */
function nm_post_url($echo=true) {
  global $nmdata;
  if (isset($nmdata['url']) && $nmdata['url']) {
    $url $nmdata['url'];
    if ($echo) echo $url;
    return $url;
  } else {
    return false;
  }
}

/*******************************************************
 * @function nm_post_excerpt
 * @param $len Length or null for default length (settings)
 * @param $ellipsis Custom string for the ellipsis or null for default
 * @param $echo Display (true) or return (false)
 * @action Display or return a post excerpt
 * @return excerpt or empty string
 * @since 3.0
 */
function nm_post_excerpt($len=null$ellipsis=null$echo=true) {
  global $nmdata$NMEXCERPTLENGTH$nmoption;
  if (isset($nmdata['content']) && $nmdata['content']) {
    if (!$len$len = isset($nmoption['excerptlength']) ? $nmoption['excerptlength'] : $NMEXCERPTLENGTH// workaround(*)
    if (!$ellipsis && $ellipsis !== ''$ellipsis i18n_r('news_manager/ELLIPSIS');
    $break nm_get_option('breakwords');
    $excerpt nm_make_excerpt($nmdata['content'], $len$ellipsis$break);
    if ($echo) echo $excerpt;
    return $excerpt;
  } else {
    return '';
  }
}

/*******************************************************
 * @function nm_post_image_url
 * @param $width or null for default width (settings)
 * @param $height or null for default height (settings)
 * @param $crop 0, 1, false or true, or null for default crop option (settings)
 * @param $default URL or filename of image if post has no image
 * @param $echo Display (true) or return (false)
 * @action Display or return post image URL
 * @return image URL or empty string
 * @since 3.0
 */
function nm_post_image_url($width=null$height=null$crop=null$default=null$echo=true) {
  global $nmdata;
  if (isset($nmdata['image']) && $nmdata['image']) {
    $url htmlspecialchars(nm_get_image_url($nmdata['image'], $width$height$crop$default));
    if ($echo) echo $url;
    return $url;
  } else {
    return '';
  }
}

/***
frontend functions, since 3.0
@todo: descriptions
 ***/

// conditionals

function nm_is_site() {
  global $nmpagetype;
  return in_array('site'$nmpagetype);
}

function 
nm_is_single() {
  global $nmdata;
  return isset($nmdata['slug']);
}

function 
nm_is_main() {
  global $nmpagetype;
  return in_array('main'$nmpagetype);
}

function 
nm_is_tag($tag=null) {
  global $nmpagetype;
  if (in_array('tag'$nmpagetype)) {
    if (!$tag)
      return true;
    else
      return (isset($_GET[NMPARAMTAG]) && $tag == rawurldecode($_GET[NMPARAMTAG]));
  }
}

function 
nm_is_archive() {
  global $nmpagetype;
  return in_array('archive'$nmpagetype);
}

function 
nm_is_search() {
  global $nmpagetype;
  return in_array('search'$nmpagetype);
}

function 
nm_is_home() {
  global $nmpagetype;
  return in_array('home'$nmpagetype);
}

function 
nm_post_has_image() {
  global $nmdata;
  return (isset($nmdata['image']) && $nmdata['image']);
}

// check if single post has any tag or a certain tag
function nm_post_has_tag($tag=null) {
  global $nmdata;
  if ($nmdata) {
    if (!isset($tag) && $nmdata['tags'])
      return true;
    elseif (in_array($tag$nmdata['tags']))
      return true;
  }
  return false;
}

// set general option
function nm_set_option($option$value=true) {
  global $nmoption;
  if ($option$nmoption[strtolower($option)] = $value;
}

// get option value, return $default if not defined
function nm_get_option($option$default=false) {
  global $nmoption;
  if ($option) {
    $option strtolower($option);
    if (isset($nmoption[$option]))
      return $nmoption[$option];
    else
      return $default;
  }
}

// images

function nm_set_image_size($width=null$height=null$crop=false) {
  global $nmoption;
  $nmoption['imagewidth'] = $width;
  $nmoption['imageheight'] = $height;
  $nmoption['imagecrop'] = $crop;
}

// custom text/language strings

function nm_set_text($i18nkey=null$i18nvalue=null) {
  global $i18n;
  if ($i18nkey && $i18nvalue !== null)
    $i18n['news_manager/'.$i18nkey] = strval($i18nvalue);
}


// patch for <title> tag - single post or tag view
function nm_update_page_title() {
  global $title$nmpagetitle;
  $nmpagetitle false;
  if (nm_is_site() && nm_get_option('titletag',true) && !function_exists('nmt_set_gstitle')) {
    if (nm_is_single()) {
      $nmpagetitle $title;
      $title nm_post_title(''' - '.$titlefalse);
    } elseif (nm_is_tag()) {
      $nmpagetitle $title;
      $title nm_single_tag_title(''' - '.$titlefalse);
    }
  }
}

// restore original title - <title> tag patch
function nm_restore_page_title() {
  global $title$nmpagetitle;
  if ($nmpagetitle !== false)
    $title $nmpagetitle;
}

// get output buffer, optionally apply content filter
function nm_ob_get_content($filter=true) {
  $output ob_get_contents();
  ob_end_clean();
  if ($filter) {
    return exec_filter('content'$output);
  } else {
    return $output;
  }
}


/***** since 3.1 ****/

// display or return current tag, if in single tag view
function nm_single_tag_title($before=''$after=''$echo=true) {
  global $nmsingletag;
  if ($nmsingletag) {
    $str $before.htmlspecialchars($nmsingletag).$after;
    if ($echo) echo $str;
    return $str;
  } else {
    return false;
  }
}

// set post tags as meta keywords
function nm_update_meta_keywords() {
  global $metak$nmdata;
  $tags = array();
  foreach ($nmdata['tags'] as $tag)
    if (substr($tag01) != '_'$tags[] = $tag;
  $metak htmlspecialchars(implode($tags', '), ENT_COMPAT'UTF-8');
}

function 
nm_class_attr($str='') {
  return $str ' class="'.trim($str).'"' '';
}

// remove some special chars from custom markup
function nm_clean_markup($str) {
  return str_replace(array('<','>','"','\'',' '), ''$str);
}

// remove invalid chars in custom CSS class selectors
function nm_clean_classes($str) {
  return trim(str_replace(array(
    '~','!','@','$','%','^','&','*','(',')','+','=',',','.','/',
    '\'',';',':','"','?','>','<','[',']','\\','{','}','|','`','#'
    ), ''$str));
}

/***** since 3.2 ****/

// returns display name for specified user, ready to be echoed
// (loads user file if name not in global array $NMAUTHOR)
function nm_get_author_name_html($author='') {
  global $NMAUTHOR;
  if (!$NMAUTHOR$NMAUTHOR = array();
  if (isset($NMAUTHOR[$author])) {
    $name $NMAUTHOR[$author];
  } elseif (file_exists(GSUSERSPATH.$author.'.xml')) {
      $userxml getXML(GSUSERSPATH.$author.'.xml');
      $name = !empty($userxml->NAME) ? htmlspecialchars($userxml->NAME) : $author;
      $NMAUTHOR[$author] = $name;
  } else {
    $name $author;
  }
  return $name;
}

/***** since 3.3 *****/

function nm_post_date($fmt=''$echo=true) {
  global $nmdata;
  if (isset($nmdata['unixtime']) && $nmdata['unixtime']) {
    if (empty($fmt))
      $fmt i18n_r('news_manager/DATE_FORMAT');
    $date nm_get_date($fmt$nmdata['unixtime']);
    if ($echo) echo $date;
    return $date;
  } else {
    return false;
  }
}

?>


MfG
Reply
#4
(2017-10-08, 09:56:42)jangro1982 Wrote: Bei mir fehlt quasi der Link des Bildes im Quelltext:
Code:
<div class="nm_post_image"><a href="..."><img src="/data/uploads/..." alt="..." /></a></div>

In den Einstellungen hast du aber schon ausgewählt "Beitragsbilder aktivieren: JA"?

Sieh in den XML-Quelltext des Posts, der das Bild nicht anzeigt. Findest Du dort das Element
Code:
<image><![CDATA[url/zum/bild.jpg]]></image>

Alex
Reply




Users browsing this thread: 2 Guest(s)