2 ameo Jun 13, 2008 18:59

Fixed a little bug that showed an error on some pages like the contact page.
to install, produces this error:
Warning: Cannot modify header information - headers already sent by (output started at /home/mysite/public_html/plugins/_article_titles.plugin.php:2) in /home/mysite/public_html/skins_adm/_html_header.inc.php on line 40
Delete the whitespace before the opening <?php tag ;)
¥
hello ¥åßßå
these are the first lines of _html_header.inc.php.
Delete the whitespace before the second opening <? Php tag.
follows the error
<?php
/**
* This file displays the first part of the page menu (before the page title).
*
* This file is part of the evoCore framework - {@link http://evocore.net/}
* See also {@link http://sourceforge.net/projects/evocms/}.
*
* @copyright (c)2003-2008 by Francois PLANQUE - {@link http://fplanque.net/}
* Parts of this file are copyright (c)2005-2006 by PROGIDISTRI - {@link http://progidistri.com/}.
*
* {@internal License choice
* - If you have received this file as part of a package, please find the license.txt file in
* the same folder or the closest folder above for complete license terms.
* - If you have received this file individually (e-g: from http://evocms.cvs.sourceforge.net/)
* then you must choose one of the following licenses before using the file:
* - GNU General Public License 2 (GPL) - http://www.opensource.org/licenses/gpl-license.php
* - Mozilla Public License 1.1 (MPL) - http://www.opensource.org/licenses/mozilla1.1.php
* }}
*
* {@internal Open Source relicensing agreement:
* PROGIDISTRI S.A.S. grants Francois PLANQUE the right to license
* PROGIDISTRI S.A.S.'s contributions to this file and the b2evolution project
* under any OSI approved OSS license (http://www.opensource.org/licenses/).
* }}
*
* @package admin
*
* @author blueyed
* @author fplanque
* @author mbruneau: Marc BRUNEAU / PROGIDISTRI
*
* @version $Id: _html_header.inc.php,v 1.6 2008/02/08 22:24:46 fplanque Exp $
*/
if( !defined('EVO_MAIN_INIT') ) die( 'Please, do not access this page directly.' );
global $io_charset, $rsc_url, $UserSettings, $Debuglog, $Plugins, $generating_static;
global $month, $month_abbrev, $weekday, $weekday_abbrev; /* for localized calendar */
global $debug, $Hit;
=> header( 'Content-type: text/html; charset='.$io_charset );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="<?php locale_lang() ?>" lang="<?php locale_lang() ?>">
<head>
<title><?php echo $this->get_html_title(); ?></title>
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW" />
<?php
global $rsc_path, $rsc_url, $htsrv_url;
Don't access this file directly, but install it as a plugin. You can then add a widget to your template. Don't include this file in your template.
participacion wrote:
Warning: Cannot modify header information - headers already sent by (output started at /home/mysite/public_html/plugins/_article_titles.plugin.php:2) in /home/mysite/public_html/skins_adm/_html_header.inc.php on line 40
Check that file ;)
¥
I removed the whitespace in that file just now.
hello nims
steps taken:
=> _article_titles.plugin.php placed inside the folder 'plugins'.
=> checked if it was in http://mysite/admin.php?blog=10&ctrl=plugins&action=list_available.
=> http://mysite/admin.php?ctrl=plugins&action=install&plugin=article_titles_plugin activated with installation.
and continues the error.
Copy and paste your plugin code as it is now, from notepad into here ( between [php][/php] tags )
¥
Ok, i editted the first message with using PHP tags. Is it alright now?
Sorry nims, that was directed at participation, if they still have the error then they still have whitespace in the file
¥
Then I don't understand if my plugin has an error, or that it is correct. I am using it myself, and have not got any problems at all.
Hi nims & participation,
Participation made a copy/paste error, so he unintendedly entered whitespace (carriage return "Enter" or space) before the first <?php resulting in the error mentioned.
Probably you could make a downloadable zip of the plugin to avoid confusion.
Good luck
hello Afwas
Here is the code
<?php
/**
* This file implements the Article Titles plugin.
*
* @copyright (c)2008 by Julien Moorrees - {@link http://fplanque.net/}
*
* {@internal License choice
* - If you have received this file as part of a package, please find the license.txt file in
* the same folder or the closest folder above for complete license terms.
* - If you have received this file individually (e-g: from http://evocms.cvs.sourceforge.net/)
* then you must choose one of the following licenses before using the file:
* - GNU General Public License 2 (GPL) - http://www.opensource.org/licenses/gpl-license.php
* - Mozilla Public License 1.1 (MPL) - http://www.opensource.org/licenses/mozilla1.1.php
* }}
*
* {@internal Open Source relicensing agreement:
* Daniel HAHLER grants Francois PLANQUE the right to license
* Daniel HAHLER's contributions to this file and the b2evolution project
* under any OSI approved OSS license (http://www.opensource.org/licenses/).
* }}
*
* @package plugins
*
* {@internal Below is a list of authors who have contributed to design/coding of this file: }}
* @author Julien Moorrees
*
* @version $Id: _advert_banner.plugin.php,v 1.0 2008/06/13 12:35:41 MoorreesJ Exp $
*/
if( !defined('EVO_MAIN_INIT') ) die( 'Please, do not access this page directly.' );
/**
*/
class article_titles_plugin extends Plugin
{
/**
* Variables below MUST be overriden by plugin implementations,
* either in the subclass declaration or in the subclass constructor.
*/
var $name = 'Article Titles Widget';
var $code = 'evo_ArticleTitles';
var $priority = 96;
var $version = '2.0';
var $author = 'Julien Moorrees';
var $group = 'widget';
/**
* Init
*/
function PluginInit( & $params )
{
$this->short_desc = T_('This skin tag displays a list of the article titles');
$this->long_desc = T_('Displays a list of article titles');
}
/**
* Get definitions for widget specific editable params
*
* @see Plugin::GetDefaultSettings()
* @param local params like 'for_editing' => true
*/
function get_widget_param_definitions( $params )
{
$r = array(
'enable' => array(
'label' => T_('Enable'),
'note' => T_('Enable this widget.'),
'type' => 'checkbox',
'defaultvalue' => true,
),
'swhowonhome' => array(
'label' => T_('Show on homepage'),
'note' => T_('Show this widget on the homepage'),
'type' => 'checkbox',
'defaultvalue' => true,
),
'swhowonarticle' => array(
'label' => T_('Show on Article'),
'note' => T_('Show this widget on an article page'),
'type' => 'checkbox',
'defaultvalue' => false,
),
'title' => array(
'label' => 'Block title',
'size' => 60,
),
);
return $r;
}
/**
* Event handler: SkinTag (widget)
*
* @param array Associative array of parameters.
* @return boolean did we display?
*/
function SkinTag( $params )
{
global $generating_static, $Plugins,$MainList;
if( empty($MainList) )
{
return false;
}
if( ! empty($generating_static) || $Plugins->trigger_event_first_true('CacheIsCollectingContent') )
{ // We're not generating static pages nor is a caching plugin collecting the content, so we can display this block
return false;
}
if ($params['enable']==false) {
return false;
}
if( isset($MainList) && $MainList->result_num_rows > 1 ) {
// We are on the homepage
if ($params['swhowonhome']==false) {
return false;
}
}
else {
// We are on an article
if ($params['swhowonarticle']==false) {
return false;
}
}
echo $params['block_start'];
echo $params['block_title_start'];
echo $params['title'];
echo $params['block_title_end'];
//Do your magic here
// -------------------- PREV/NEXT PAGE LINKS (POST LIST MODE) --------------------
echo $MainList->page_links( array(
'block_start' => '',
'block_end' => '',
'block_single' => '',
'links_format' => '#',
'page_url' => '', // All generated links will refer to the current page
'prev_text' => '<<',
'next_text' => '>>',
'no_prev_text' => '',
'no_next_text' => '',
'list_prev_text' => '...',
'list_next_text' => '...',
'list_span' => 4,
'scroll_list_range' => 5,
)
);
echo "<br />";
// ------------------------- END OF PREV/NEXT PAGE LINKS -------------------------
$MainList->current_idx = 0;
while( $Item = $MainList->get_item() )
{
?>
<a href="<?php $Item->permanent_url() ?>" title="<?php echo T_('Permanent link to full entry') ?>" ><?php $Item->title(); ?></a><br />
<?php
}
echo $params['block_end'];
$MainList->current_idx = 0;
return true;
}
}
?>
hi participation,
This shouldn't give an error. Do use a plain text editor when you save the file.
Good luck
I created the file _article_titles.plugin.php with notepad.
installing the plug, this new error occurs:
Warning: Cannot modify header information - headers already sent by (output started at /home/podersoc/public_html/plugins/_article_titles.plugin.php:174) in /home/podersoc/public_html/skins_adm/_html_header.inc.php on line 40
Here is the code
<?php
/**
* This file implements the Article Titles plugin.
*
* @copyright (c)2008 by Julien Moorrees - {@link http://fplanque.net/}
*
* {@internal License choice
* - If you have received this file as part of a package, please find the license.txt file in
* the same folder or the closest folder above for complete license terms.
* - If you have received this file individually (e-g: from http://evocms.cvs.sourceforge.net/)
* then you must choose one of the following licenses before using the file:
* - GNU General Public License 2 (GPL) - http://www.opensource.org/licenses/gpl-license.php
* - Mozilla Public License 1.1 (MPL) - http://www.opensource.org/licenses/mozilla1.1.php
* }}
*
* {@internal Open Source relicensing agreement:
* Daniel HAHLER grants Francois PLANQUE the right to license
* Daniel HAHLER's contributions to this file and the b2evolution project
* under any OSI approved OSS license (http://www.opensource.org/licenses/).
* }}
*
* @package plugins
*
* {@internal Below is a list of authors who have contributed to design/coding of this file: }}
* @author Julien Moorrees
*
* @version $Id: _advert_banner.plugin.php,v 1.0 2008/06/13 12:35:41 MoorreesJ Exp $
*/
if( !defined('EVO_MAIN_INIT') ) die( 'Please, do not access this page directly.' );
/**
*/
class article_titles_plugin extends Plugin
{
/**
* Variables below MUST be overriden by plugin implementations,
* either in the subclass declaration or in the subclass constructor.
*/
var $name = 'Article Titles Widget';
var $code = 'evo_ArticleTitles';
var $priority = 96;
var $version = '2.0';
var $author = 'Julien Moorrees';
var $group = 'widget';
/**
* Init
*/
function PluginInit( & $params )
{
$this->short_desc = T_('This skin tag displays a list of the article titles');
$this->long_desc = T_('Displays a list of article titles');
}
/**
* Get definitions for widget specific editable params
*
* @see Plugin::GetDefaultSettings()
* @param local params like 'for_editing' => true
*/
function get_widget_param_definitions( $params )
{
$r = array(
'enable' => array(
'label' => T_('Enable'),
'note' => T_('Enable this widget.'),
'type' => 'checkbox',
'defaultvalue' => true,
),
'swhowonhome' => array(
'label' => T_('Show on homepage'),
'note' => T_('Show this widget on the homepage'),
'type' => 'checkbox',
'defaultvalue' => true,
),
'swhowonarticle' => array(
'label' => T_('Show on Article'),
'note' => T_('Show this widget on an article page'),
'type' => 'checkbox',
'defaultvalue' => false,
),
'title' => array(
'label' => 'Block title',
'size' => 60,
),
);
return $r;
}
/**
* Event handler: SkinTag (widget)
*
* @param array Associative array of parameters.
* @return boolean did we display?
*/
function SkinTag( $params )
{
global $generating_static, $Plugins,$MainList;
if( empty($MainList) )
{
return false;
}
if( ! empty($generating_static) || $Plugins->trigger_event_first_true('CacheIsCollectingContent') )
{ // We're not generating static pages nor is a caching plugin collecting the content, so we can display this block
return false;
}
if ($params['enable']==false) {
return false;
}
if( isset($MainList) && $MainList->result_num_rows > 1 ) {
// We are on the homepage
if ($params['swhowonhome']==false) {
return false;
}
}
else {
// We are on an article
if ($params['swhowonarticle']==false) {
return false;
}
}
echo $params['block_start'];
echo $params['block_title_start'];
echo $params['title'];
echo $params['block_title_end'];
//Do your magic here
// -------------------- PREV/NEXT PAGE LINKS (POST LIST MODE) --------------------
echo $MainList->page_links( array(
'block_start' => '',
'block_end' => '',
'block_single' => '',
'links_format' => '#',
'page_url' => '', // All generated links will refer to the current page
'prev_text' => '<<',
'next_text' => '>>',
'no_prev_text' => '',
'no_next_text' => '',
'list_prev_text' => '...',
'list_next_text' => '...',
'list_span' => 4,
'scroll_list_range' => 5,
)
);
echo "<br />";
// ------------------------- END OF PREV/NEXT PAGE LINKS -------------------------
$MainList->current_idx = 0;
while( $Item = $MainList->get_item() )
{
?>
<a href="<?php $Item->permanent_url() ?>" title="<?php echo T_('Permanent link to full entry') ?>" ><?php $Item->title(); ?></a><br />
<?php
}
echo $params['block_end'];
$MainList->current_idx = 0;
return true;
}
}
?>
Delete any whitespace *after* the closing ?>
I think you shouldn't use notepad, but a texteditor that dashes the CR/LF chars and just uses the linux format.
Ultraedit for example has an option to convert the file to linux format. Also some ftp-clients have the option to upload the file as text. Maybe that can "fix" your problem.
Afwas wrote:
Delete any whitespace *after* the closing ?>
Afwas
thanks ...
ready ...
nims
Thanks for the plugin
isnt that the same as lates t posts?
Yes it is. But it's a little more simple: it only shows the title list, and the paging numbers.
Well, I tried this plugin--copy & paste into dreamweaver file, nothing but code in first posting this thread.
Got this on attempted installation into plugins:
Parse error: syntax error, unexpected '}' in /home/wordturn/public_html/healthygreenpaint/plugins/_article_titles.plugin.php on line 167
Ideas????
This plugin is virtually unusable when someone tries to copy/paste it from these forums. I kinda know what I'm doing with grabbing someone else's code, and I keep getting whitespace that simply doesn't show up here.
nims you really need to make a downloadable .zip of this thing else it will always cause the troubles that both participation and martha have reported.
Also please add a readme.html file so users will know what it will do and what they can do with it. Adding a readme is the crappiest ugliest longest WORST part of writing a plugin, but it really does help your users.
BOTTOM LINE: anyone trying to copy/paste this out of one the forums will have to edit out a space before the very first <?php and after the very last ?>
I do not agree with that.
I copied he code and pasted it in nano (Linux editor).
My editor wrapped some comment lines, but after repairing the plugin worked at once.
Now I have this widget, I only do not understand how to put it above the content on the main page. In the blog setting I can add the widget to the menus or header etc. but how do I generate a main index page with this?
@joopsiroop
This is a very old thread. You don't need this plugin if you are using b2evolution v3 or 4. Just go to Blog settings > Widgets and add a Post list widget
trying that right now