Beiträge: 136
Themen: 15
Registriert seit: 18.01.2007
MyBB-Version: 1.2.12
Hallo,
ich habe folgendes Problem mit dem Plugin rss2post:
Nachrichten mit langem Betreff werden immer wieder abgerufen. D.h. der Bot ruft diese Nachrichten jedes mal ab.
Gibt es eine Möglichkeit den Betreff automatisch zu kürzen?
Gruß,
Dirk niemand eine Idee?
Gruß,
NixxusMinimax
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Ich kenne das Plugin kaum. Wie man per PHP Strings kürzst findet du z.B. in diesem Beitrag: https://www.mybb.de/forum/showthread.php...1#pid30761
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 136
Themen: 15
Registriert seit: 18.01.2007
MyBB-Version: 1.2.12
13.02.2008, 20:12
(Dieser Beitrag wurde zuletzt bearbeitet: 13.02.2008, 22:24 von NixxusMinimax.)
Ich danke dir schonmal soweit. Hab mal kurz ins Thema reingeguckt. Ich werde nachher mal testen ob ich den Code ins Plugin gebastelt kriege.
Gruß,
Dirk
/edit:
PHP-Code: if(my_strlen($lastpost_subject) > 25) { $lastpost_subject = my_substr($lastpost_subject, 0, 25) . "..."; }
wärst du wohl so nett mir die Stelle zu zeigen?
PHP-Code: <?php // RSS To Post // By DennisTT // Version 1.1.0 - Änderungen von Michael (Zeilen 289-307)
// This plugin (C) DennisTT 2006. You may not redistribute this plugin without the permission from DennisTT.
function rss2post_info() { return array( "name" => "RSS To Post", "description" => "Analysiert RSS-Feeds und stellt neue Infos in ein spezifisches Forum.<br />==>> Credits to Vojtech Semecky for RSS parser class.", "website" => "http://www.dennistt.net", "author" => "DennisTT", "authorsite" => "http://www.dennistt.net", "version" => "1.1.0", ); }
/* function rss2post_info() { return array( "name" => "RSS To Post", "description" => "Parses RSS feeds and posts new items onto a specified forum.<br />==>> Credits to Vojtech Semecky for RSS parser class.", "website" => "http://www.dennistt.net", "author" => "DennisTT", "authorsite" => "http://www.dennistt.net", "version" => "1.1.0", ); } */
function rss2post_activate() { global $db, $cache; $cache->update('rss2post', 0); $db->query(" CREATE TABLE `".TABLE_PREFIX."rss2post` ( `fid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `url` VARCHAR( 255 ) NOT NULL , `forum` INT( 10 ) UNSIGNED NOT NULL ) ENGINE = MYISAM ; ");
$info = rss2post_info();
$setting_group_array = array( 'name' => str_replace(' ', '_', 'dennistt_'.strtolower($info['name'])), 'title' => "$info[name] (DennisTT)", //'description' => "Settings for the $info[name] plugin", 'description' => "Einstellungen für das Plugin \"$info[name]\"", 'disporder' => 1, 'isdefault' => 'no', ); $db->insert_query(TABLE_PREFIX.'settinggroups', $setting_group_array); $group = $db->insert_id();
/* $setting_group_array = array( 'name' => str_replace(' ', '_', 'dennistt_'.strtolower($info['name'])), 'title' => "$info[name] (DennisTT)", 'description' => "Settings for the $info[name] plugin", 'disporder' => 1, 'isdefault' => 'no', ); $db->insert_query(TABLE_PREFIX.'settinggroups', $setting_group_array); $group = $db->insert_id(); */
$settings = array( 'rss2post_auto' => array('Automatischer Scan?', 'Wenn \"Ja\" gewählt ist, werden die RSS-Feeds nach einer bestimmten Zeit neu gescannt.<br />Wenn \"Nein\" gewählt ist, werden die RSS-Feeds nur manuell über das Plugin-CP neu eingelesen.', 'yesno', 'yes'), 'rss2post_userid' => array('Benutzer-ID', 'ID des Benutzers, der als Autor erwänt wird.', 'text', '1'), 'rss2post_interval' => array('Time-Out-Intervall', 'Intervall zwischen den Scans in Minuten', 'text', '90'), 'rss2post_striphtml' => array('Strip HTML', 'Soll der Feed-Inhalt aufgelöst werden, wenn er HTML-Code enthält?', 'yesno', 'yes'), 'rss2post_forcerunpw' => array('Force Run Password', 'Dies ist das Passwort, das via URL jedes Mal hinzugefügt wird, wenn das Plugin "forced-run" ausgeführt wird. (siehe auch "RSS To Post - Konfigurationshinweise" für weitere Informationen über "force-run")', 'text', rand(100, 999)), );
$i = 1; foreach($settings as $name => $sinfo) { $db->query("INSERT INTO ".TABLE_PREFIX."settings (name,title,description,optionscode,value,gid,disporder) VALUES ('$name', '$sinfo[0]', '$sinfo[1]', '$sinfo[2]', '$sinfo[3]', $group, $i)"); $i++; } rebuildsettings();
echo '<script type="text/javascript">parent.nav.location.href = parent.nav.location.href;</script>';
}
function rss2post_deactivate() { global $db;
$info = rss2post_info();
$result = $db->query("SELECT gid FROM ".TABLE_PREFIX."settinggroups WHERE title = '$info[name] (DennisTT)' LIMIT 1"); $group = $db->fetch_array($result); if(!empty($group['gid'])) { $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE gid = $group[gid] LIMIT 1"); $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE gid = $group[gid]"); rebuildsettings(); }
$db->query("DROP TABLE ".TABLE_PREFIX."rss2post"); $db->delete_query(TABLE_PREFIX."datacache", "title='rss2post'");
echo '<script type="text/javascript">parent.nav.location.href = parent.nav.location.href;</script>';
}
$plugins->add_hook("admin_index_navigation_end", "rss2post_admin_menu"); function rss2post_admin_menu() { global $menu, $lang; $menu[] = array( "title" => "RSS To Post", "items" => array( 10 => array("title" => $lang->nav_manage, "url" => "index.php?".SID."&plugin=rss2post&pluginaction=list"), ) ); }
$plugins->add_hook("admin_index_start", "rss2post_admin"); function rss2post_admin() { global $mybb, $db, $lang; if(isset($mybb->input['plugin']) && $mybb->input['plugin'] == 'rss2post') { addacpnav("RSS To Post", "index.php?".SID."&plugin=rss2post&pluginaction=list"); $action = (isset($mybb->input['pluginaction'])) ? $mybb->input['pluginaction'] : 'list'; if($action == 'do_update') { // Update existing feed info if(is_array($mybb->input['url'])) { foreach($mybb->input['url'] as $fid => $url) { // Delete if requested if(isset($mybb->input['delete'][$fid]) && $mybb->input['delete'][$fid] == 'true') { $db->delete_query(TABLE_PREFIX."rss2post", "fid='{$fid}'", 1); continue; }
// Validate variables $forum = intval($mybb->input['forum'][$fid]); $query = $db->simple_select(TABLE_PREFIX."forums", "fid", "type='f' AND fid='{$forum}'"); if($db->num_rows($query) == 0) { cperror("One of the forum IDs you have provided is invalid. Please go back and correct it."); } $update_array = array( 'url' => $db->escape_string($url), 'forum' => $forum ); $db->update_query(TABLE_PREFIX."rss2post", $update_array, "fid='{$fid}'"); if(isset($mybb->input['run'][$fid]) && $mybb->input['run'][$fid] == 'true') { rss2post_process_feed($url, $forum); } } } if(!empty($mybb->input['newurl'])) { $forum = intval($mybb->input['newforum']); $query = $db->simple_select(TABLE_PREFIX."forums", "fid", "type='f' AND fid='{$forum}'"); if($db->num_rows($query) == 0) { cperror("One of the forum IDs you have provided is invalid. Please go back and correct it."); } $insert_array = array( 'url' => $db->escape_string($mybb->input['newurl']), 'forum' => $forum ); $db->insert_query(TABLE_PREFIX."rss2post", $insert_array); if(isset($mybb->input['newrun']) && $mybb->input['newrun'] == 'true') { rss2post_process_feed($mybb->input['newurl'], $forum); } } cpredirect("index.php?".SID."&plugin=rss2post&pluginaction=list", "Die \"RSS To Post\"-Informationen wurden erfolgreich aktualiesiert."); die(); } cpheader();
starttable();
startform("index.php"); makehiddencode('plugin', 'rss2post'); makehiddencode('pluginaction', 'do_update');
tableheader('RSS To Post - Configuration', '', 4);
tablesubheader(array('URL', 'Forum-ID', 'Löschen', 'Ausführen')); $query = $db->simple_select(TABLE_PREFIX."rss2post", "*"); if($db->num_rows($query) > 0) { while($row = $db->fetch_array($query)) { $bg = getaltbg(); echo '<tr>'; echo "\n<td class=\"{$bg}\" style=\"width:70%\"><input type=\"text\" name=\"url[{$row['fid']}]\" value=\"".htmlspecialchars_uni($row['url'])."\" style=\"width:100%\" /></td>"; echo "\n<td class=\"{$bg}\" style=\"width:10%\"><input type=\"text\" name=\"forum[{$row['fid']}]\" value=\"".htmlspecialchars_uni($row['forum'])."\" style=\"width:100%\" /></td>"; echo "\n<td class=\"{$bg}\" style=\"width:10%; text-align:center\"><input type=\"checkbox\" name=\"delete[{$row['fid']}]\" value=\"true\" /></td>"; echo "\n<td class=\"{$bg}\" style=\"width:10%; text-align:center\"><input type=\"checkbox\" name=\"run[{$row['fid']}]\" value=\"true\" /></td>"; echo '</tr>'; } } else { echo '<tr><td colspan="4" class="trow1">No RSS feeds to display</td></tr>'; }
tablesubheader('Neuer RSS-Feed', '', 4); $bg = getaltbg(); echo '<tr>'; echo "\n<td class=\"{$bg}\" style=\"width:70%\"><input type=\"text\" name=\"newurl\" value=\"\" style=\"width:100%\" /></td>"; echo "\n<td class=\"{$bg}\" style=\"width:10%\"><input type=\"text\" name=\"newforum\" value=\"\" style=\"width:100%\" /></td>"; echo "\n<td class=\"{$bg}\" style=\"width:10%; text-align:center\"></td>"; echo "\n<td class=\"{$bg}\" style=\"width:10%; text-align:center\"><input type=\"checkbox\" name=\"newrun\" value=\"true\" checked=\"checked\" /></td>"; echo '</tr>';
endtable();
endform("RSS To Post-Konfiguration aktualisieren", $lang->reset_button);
echo "<h3>Zusätzliche Plugin-Info:</h3><p><strong>Force Run:</strong> Wenn die Möglichkeit für \"cronjobs\" auf dem Server besteht, kannst du einen \"cronjob\" einrichten, der<br /><br /> <a href=\"{$mybb->settings['bburl']}/index.php?forcerss2post&rsspw={$mybb->settings['rss2post_forcerunpw']}\">{$mybb->settings['bburl']}/index.php?forcerss2post&rsspw={$mybb->settings['rss2post_forcerunpw']}</a><br /><br />im angegebenen Intervall ausführt. Alternativ kannst du diese URL verwenden, um das Plugin manuell auszuführen.</p>"; //echo "<h3>Additional Plugin Info:</h3><p><strong>Force Run:</strong> If you have access to create cronjobs on your server, you can create a cronjob that runs <a href=\"{$mybb->settings['bburl']}/index.php?forcerss2post&rsspw={$mybb->settings['rss2post_forcerunpw']}\">{$mybb->settings['bburl']}/index.php?forcerss2post&rsspw={$mybb->settings['rss2post_forcerunpw']}</a> at the interval of your choice. Alternatively you can use this URL to run the plugin manually whenever you choose.</p>"; rss2post_cpfooter(); die(); } }
$plugins->add_hook("global_end", "rss2post_run"); function rss2post_run() { global $cache, $mybb, $db;
// Quit if automatic mode is not turned on and run isn't being forced if($mybb->settings['rss2post_auto'] == 'no' && !isset($mybb->input['forcerss2post'])) { return; }
// If the run isn't forced, or the password is not correct, check timeout interval if(!isset($mybb->input['forcerss2post']) || $mybb->input['rsspw'] != $mybb->settings['rss2post_forcerunpw']) { $minutes_before_next_run = $mybb->settings['rss2post_interval']; // Minutes to wait before allowing another run. $last_run = $cache->read('rss2post'); if($last_run > (time() - $minutes_before_next_run*60)) { return; } }
// Clear error data cache $cache->update('rss2post_errors', '');
// Find out what feeds there are to update. $query = $db->simple_select(TABLE_PREFIX."rss2post"); while($row = $db->fetch_array($query)) { rss2post_process_feed($row['url'], $row['forum']); } $cache->update('rss2post', time()); }
function rss2post_process_feed($url, $forum) { global $db, $mybb, $cache;
// Create feed reader $feeder = new lastRSS; $feeder->CDATA = 'content';
$uid = intval($mybb->settings['rss2post_userid']);
$query = $db->simple_select(TABLE_PREFIX."users", "username", "uid='{$uid}'"); $user = $db->fetch_array($query);
// Get the feed if($feed = $feeder->Get($url)) { $items = $feed['items']; // Loop through each item foreach($items as $item_data) { // Make a title if none exists if(empty($item_data['title'])) { $item_data['title'] = substr($item_data['description'], 0, 60); if(strlen($item_data['description']) > 60) { $item_data['title'] .= '...'; } } /* // See if title exists in posting forum $subject = html_entity_decode($item_data['title']); $subject_sql = $db->escape_string($subject); $query = $db->simple_select(TABLE_PREFIX."threads", "tid", "subject='{$subject_sql}' AND fid='{$forum}'"); if($db->num_rows($query) == 0) { // Add thread to forum (code based on MyBB 1.2.1 newthread.php) // Set up posthandler. require_once MYBB_ROOT."inc/datahandlers/post.php"; $posthandler = new PostDataHandler("insert"); $posthandler->action = "thread";
$message = html_entity_decode($item_data['description']); */ // See if title exists in posting forum $filetype = ".".array_pop(explode(".", $url)); if($filetype == "xml") { utf8_encode($subject); } $subject = html_entity_decode($item_data['title']); $subject_sql = $db->escape_string($subject); $query = $db->simple_select(TABLE_PREFIX."threads", "tid", "subject='{$subject_sql}' AND fid='{$forum}'"); if($db->num_rows($query) == 0) { // Add thread to forum (code based on MyBB 1.2.1 newthread.php) // Set up posthandler. require_once MYBB_ROOT."inc/datahandlers/post.php"; $posthandler = new PostDataHandler("insert"); $posthandler->action = "thread";
if($filetype == "xml") { utf8_encode($item_data['description']); } $message = html_entity_decode($item_data['description']); $meta_info = '';
if(!empty($item_data['link'])) { $meta_info .= ''.$item_data['link']; } if(!empty($meta_info)) { $message .= "\n\nQuelle: ".$meta_info; } if(!empty($item_data['author'])) { $message .= "\nAuthor: {$item_data['author']}"; } if(!empty($item_data['comments'])) { $message .= "\nComments: {$item_data['comments']}"; }
// Strip HTML tags if required if($mybb->settings['rss2post_striphtml'] == 'yes') { $message = strip_tags($message); }
// Set the thread data $new_thread = array( "fid" => $forum, "subject" => $subject, if(my_strlen($subject) > 25) { $subject = my_substr($lastpost_subject, 0, 25) . "..."; } "icon" => -1, "uid" => $uid, "username" => $user['username'], "message" => $message, "ipaddress" => '127.0.0.1', "posthash" => '', "savedraft" => 0, );
// Set up the thread options $new_thread['options'] = array( "signature" => 'yes', "emailnotify" => 'no', "disablesmilies" => 'no' );
$posthandler->set_data($new_thread); // Now let the post handler do all the hard work. if($posthandler->validate_thread()) { $thread_info = $posthandler->insert_thread(); } else { $errors = $cache->read("rss2post_errors"); if($errors === false) { $errors = ''; } $errors .= 'Date: ' . gmdate('r') . "\n"; $errors .= "URL: {$url}\n"; $errors .= "Forum ID: {$forum}\n"; ob_start(); var_dump($item_data); $errors .= ob_get_clean(); $datahandler_errors = $posthandler->get_errors(); ob_start(); var_dump($datahandler_errors); $errors .= ob_get_clean(); $errors .= "\n\n===========================================\n\n"; $cache->update('rss2post_errors', $errors); } } } } else { $errors = $cache->read("rss2post_errors"); if($errors === false) { $errors = ''; } $errors .= 'Date: ' . gmdate('r') . "\n"; $errors .= "URL: {$url}\n"; $errors .= "Forum ID: {$forum}\n"; $errors .= "There was a problem accessing the URL."; $errors .= "\n\n===========================================\n\n"; $cache->update('rss2post_errors', $errors); } }
function rss2post_cpfooter() { echo "<div align=\"center\">\n<br />\n<br />\n<font size=\"1\" face=\"Verdana,Arial,Helvetica\">\nRSS To Post Plugin by <a href=\"http://www.dennistt.net\">DennisTT</a>\n</font>\n</div>\n"; cpfooter(); }
if(!function_exists('htmlspecialchars_decode')) { // Courtesy of people commenting @ php.net manual function htmlspecialchars_decode($text) { return strtr($text, array_flip(get_html_translation_table(HTML_SPECIALCHARS))); } }
/* ====================================================================== lastRSS 0.9.1 Simple yet powerfull PHP class to parse RSS files. by Vojtech Semecky, webmaster @ webdot . cz Latest version, features, manual and examples: http://lastrss.webdot.cz/
---------------------------------------------------------------------- LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
To read the license please visit http://www.gnu.org/copyleft/gpl.html ====================================================================== */
/** * lastRSS * Simple yet powerfull PHP class to parse RSS files. */ class lastRSS { // ------------------------------------------------------------------- // Public properties // ------------------------------------------------------------------- var $default_cp = 'UTF-8'; var $CDATA = 'nochange'; var $cp = ''; var $items_limit = 0; var $stripHTML = False; var $date_format = '';
// ------------------------------------------------------------------- // Private variables // ------------------------------------------------------------------- var $channeltags = array ('title', 'link', 'description', 'language', 'copyright', 'managingEditor', 'webMaster', 'lastBuildDate', 'rating', 'docs'); var $itemtags = array('title', 'link', 'description', 'author', 'category', 'comments', 'enclosure', 'guid', 'pubDate', 'source'); var $imagetags = array('title', 'url', 'link', 'width', 'height'); var $textinputtags = array('title', 'description', 'name', 'link');
// ------------------------------------------------------------------- // Parse RSS file and returns associative array. // ------------------------------------------------------------------- function Get ($rss_url) { // If CACHE ENABLED if ($this->cache_dir != '') { $cache_file = $this->cache_dir . '/rsscache_' . md5($rss_url); $timedif = @(time() - filemtime($cache_file)); if ($timedif < $this->cache_time) { // cached file is fresh enough, return cached array $result = unserialize(join('', file($cache_file))); // set 'cached' to 1 only if cached file is correct if ($result) $result['cached'] = 1; } else { // cached file is too old, create new $result = $this->Parse($rss_url); $serialized = serialize($result); if ($f = @fopen($cache_file, 'w')) { fwrite ($f, $serialized, strlen($serialized)); fclose($f); } if ($result) $result['cached'] = 0; } } // If CACHE DISABLED >> load and parse the file directly else { $result = $this->Parse($rss_url); if ($result) $result['cached'] = 0; } // return result return $result; } // ------------------------------------------------------------------- // Modification of preg_match(); return trimed field with index 1 // from 'classic' preg_match() array output // ------------------------------------------------------------------- function my_preg_match ($pattern, $subject) { // start regullar expression preg_match($pattern, $subject, $out);
// if there is some result... process it and return it if(isset($out[1])) { // Process CDATA (if present) if ($this->CDATA == 'content') { // Get CDATA content (without CDATA tag) $out[1] = strtr($out[1], array('<![CDATA['=>'', ']]>'=>'')); } elseif ($this->CDATA == 'strip') { // Strip CDATA $out[1] = strtr($out[1], array('<![CDATA['=>'', ']]>'=>'')); }
// If code page is set convert character encoding to required if ($this->cp != '') //$out[1] = $this->MyConvertEncoding($this->rsscp, $this->cp, $out[1]); $out[1] = iconv($this->rsscp, $this->cp.'//TRANSLIT', $out[1]); // Return result return trim($out[1]); } else { // if there is NO result, return empty string return ''; } }
// ------------------------------------------------------------------- // Replace HTML entities &something; by real characters // ------------------------------------------------------------------- function unhtmlentities ($string) { // Get HTML entities table $trans_tbl = get_html_translation_table (HTML_ENTITIES, ENT_QUOTES); // Flip keys<==>values $trans_tbl = array_flip ($trans_tbl); // Add support for ' entity (missing in HTML_ENTITIES) $trans_tbl += array(''' => "'"); // Replace entities by values return strtr ($string, $trans_tbl); }
// ------------------------------------------------------------------- // Parse() is private method used by Get() to load and parse RSS file. // Don't use Parse() in your scripts - use Get($rss_file) instead. // ------------------------------------------------------------------- function Parse ($rss_url) { // Open and load RSS file if ($f = @fopen($rss_url, 'r')) { $rss_content = ''; while (!feof($f)) { $rss_content .= fgets($f, 4096); } fclose($f);
// Parse document encoding $result['encoding'] = $this->my_preg_match("'encoding=[\'\"](.*?)[\'\"]'si", $rss_content); // if document codepage is specified, use it if ($result['encoding'] != '') { $this->rsscp = $result['encoding']; } // This is used in my_preg_match() // otherwise use the default codepage else { $this->rsscp = $this->default_cp; } // This is used in my_preg_match()
// Parse CHANNEL info preg_match("'<channel.*?>(.*?)</channel>'si", $rss_content, $out_channel); foreach($this->channeltags as $channeltag) { $temp = $this->my_preg_match("'<$channeltag.*?>(.*?)</$channeltag>'si", $out_channel[1]); if ($temp != '') $result[$channeltag] = $temp; // Set only if not empty } // If date_format is specified and lastBuildDate is valid if ($this->date_format != '' && ($timestamp = strtotime($result['lastBuildDate'])) !==-1) { // convert lastBuildDate to specified date format $result['lastBuildDate'] = date($this->date_format, $timestamp); }
// Parse TEXTINPUT info preg_match("'<textinput(|[^>]*[^/])>(.*?)</textinput>'si", $rss_content, $out_textinfo); // This a little strange regexp means: // Look for tag <textinput> with or without any attributes, but skip truncated version <textinput /> (it's not beggining tag) if (isset($out_textinfo[2])) { foreach($this->textinputtags as $textinputtag) { $temp = $this->my_preg_match("'<$textinputtag.*?>(.*?)</$textinputtag>'si", $out_textinfo[2]); if ($temp != '') $result['textinput_'.$textinputtag] = $temp; // Set only if not empty } } // Parse IMAGE info preg_match("'<image.*?>(.*?)</image>'si", $rss_content, $out_imageinfo); if (isset($out_imageinfo[1])) { foreach($this->imagetags as $imagetag) { $temp = $this->my_preg_match("'<$imagetag.*?>(.*?)</$imagetag>'si", $out_imageinfo[1]); if ($temp != '') $result['image_'.$imagetag] = $temp; // Set only if not empty } } // Parse ITEMS preg_match_all("'<item(| .*?)>(.*?)</item>'si", $rss_content, $items); $rss_items = $items[2]; $i = 0; $result['items'] = array(); // create array even if there are no items foreach($rss_items as $rss_item) { // If number of items is lower then limit: Parse one item if ($i < $this->items_limit || $this->items_limit == 0) { foreach($this->itemtags as $itemtag) { $temp = $this->my_preg_match("'<$itemtag.*?>(.*?)</$itemtag>'si", $rss_item); if ($temp != '') $result['items'][$i][$itemtag] = $temp; // Set only if not empty } // Strip HTML tags and other bullshit from DESCRIPTION if ($this->stripHTML && $result['items'][$i]['description']) $result['items'][$i]['description'] = strip_tags($this->unhtmlentities(strip_tags($result['items'][$i]['description']))); // Strip HTML tags and other bullshit from TITLE if ($this->stripHTML && $result['items'][$i]['title']) $result['items'][$i]['title'] = strip_tags($this->unhtmlentities(strip_tags($result['items'][$i]['title']))); // If date_format is specified and pubDate is valid if ($this->date_format != '' && ($timestamp = strtotime($result['items'][$i]['pubDate'])) !==-1) { // convert pubDate to specified date format $result['items'][$i]['pubDate'] = date($this->date_format, $timestamp); } // Item counter $i++; } }
$result['items_count'] = $i; return $result; } else // Error in opening return False { return False; } } }
?>
Gruß,
NixxusMinimax
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Wenn ich das richtig sehe ist der Code schon enthalten und die Betreffe werden auf 60 Zeichen gekürzt. Bei Bedarf kannst du die Zahlen ändern:
PHP-Code: $item_data['title'] = substr($item_data['description'], 0, 60); if(strlen($item_data['description']) > 60) { $item_data['title'] .= '...'; }
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 136
Themen: 15
Registriert seit: 18.01.2007
MyBB-Version: 1.2.12
Oops, sollte mal ab und zu meine Brille aufsetzen.
Danke dir!
Gruß,
NixxusMinimax
Beiträge: 136
Themen: 15
Registriert seit: 18.01.2007
MyBB-Version: 1.2.12
Hallo,
heute kam die nächste Nachricht mit Überlänge. Problem besteht trotz Änderung weiterhin, soll heißen: der Betreff wir nicht auf die eingestellte Anzahl Zeichen gekürzt. Hab ich evtl. noch was übersehen?
Gruß,
NixxusMinimax
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Suche nach:
PHP-Code: if(empty($item_data['title'])) { $item_data['title'] = substr($item_data['description'], 0, 60); if(strlen($item_data['description']) > 60) { $item_data['title'] .= '...'; } }
Ersetzen durch:
PHP-Code: if(empty($item_data['title'])) { $item_data['title'] = substr($item_data['description'], 0, 60); if(strlen($item_data['description']) > 60) { $item_data['title'] .= '...'; } } else { if(strlen($item_data['title']) > 60) { $item_data['title'] = substr($item_data['title'], 0, 60).'...'; } }
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 136
Themen: 15
Registriert seit: 18.01.2007
MyBB-Version: 1.2.12
sehr schön, das Beschneiden des Betreffs funktioniert jetzt schonmal. Ich hoffe dass es auch daran lag.
Ich setzte das Thema mal vorsichtig auf Erledigt.
Besten Dank & Gruß
Gruß,
NixxusMinimax
|