SimplePortal

Support => International Support => Dutch (Nederlands) => Topic started by: weerforum on September 04, 2012, 09:55:15 AM

Title: foutmelding logboek
Post by: weerforum on September 04, 2012, 09:55:15 AM
Sinds vandaag heb ik zonder iets aangepast te hebben deze foutmelding.
Waar moet ik gaan zoeken ?


Code: [Select]
Pas filter toe: Toon alleen de foutmeldingen van deze gebruiker xxxxxxx
Pas filter toe: Toon alleen de foutmeldingen van dit IP-adres xxxxxxxxxx
     Zet de lijst in omgekeerd-chronologische volgorde Vandaag om 10:46:37
Pas filter toe: Toon alleen de foutmeldingen van deze sessie 5654e2ea845d128e8fff08bd35adce70
Pas filter toe: Toon alleen fouten van dit type Fouttype: Ongedefinieerd
Pas filter toe: Toon alleen de foutmeldingen van deze URL
http://weerforum.eu/forum/index.php?
Pas filter toe: Toon alleen de fouten met hetzelfde bericht
8: Undefined index: 0
Pas filter toe: Toon alleen fouten van dit bestand
Bestand: /home/weerforu/domains/weerforum.eu/public_html/forum/Sources/PortalBlocks.php(3561) : eval()'d code
Regel: 85
Title: Re: foutmelding logboek
Post by: weerforum on September 05, 2012, 06:19:27 AM
Het rare is dat de meldingen alleen maar van mezelf zijn en niet van mijn leden.
 ;) ;) ;)
Title: Re: foutmelding logboek
Post by: AngelinaBelle on September 05, 2012, 08:12:00 AM
This error comes from a php block.

It occurs on regel 85 of the php block.  On that line, you are using an array, and trying to use index 0, which has not been defined.

It is possible that this problem only occurs for you, because you are admin.
It is possible that this problem only just began recently because something else has changed to cause that code to try to access index 0 of the array on line 85 of the php block code.

If you begin with line 85, you should be able to echo information about the various calculations and trace down the cause of the problem.

Good Luck!
Title: Re: foutmelding logboek
Post by: weerforum on September 05, 2012, 08:21:50 AM
I am sorry but i can`t find it.
Can you take a look at it please ?
Title: Re: foutmelding logboek
Post by: AngelinaBelle on September 05, 2012, 08:32:48 AM
The error is in your php block.
I cannot see the php code in your php block.

The error occurs on line 85.  There is an array used on line 85 which is causing the problem, when the array index = 0
Title: Re: foutmelding logboek
Post by: weerforum on September 05, 2012, 08:39:11 AM
I am sorry but i dont understand  :'(
Title: Re: foutmelding logboek
Post by: AngelinaBelle on September 05, 2012, 09:34:20 AM
I am sorry.  I only speak English. Maybe someone who speaks Dutch can be more help to you.

Do you have a custom php block?
Title: Re: foutmelding logboek
Post by: weerforum on September 05, 2012, 09:41:41 AM
I am sorry.  I only speak English. Maybe someone who speaks Dutch can be more help to you.

Do you have a custom php block?
Yes 3 AngelinaBelle
But i never had problems with it.
Title: Re: foutmelding logboek
Post by: AngelinaBelle on September 05, 2012, 09:49:21 AM
Now you have problems with one of them, but we do not know why.

Here is what I would do.
1) Turn all 3 custom php blocks off.
2) Turn on 1 custom php block at a time.  Watch the error log to learn which one now is causing a problem.
3) Look at line 85 in that custom php block which causes the problem, and begin to look for the problem.
Title: Re: foutmelding logboek
Post by: weerforum on September 05, 2012, 09:54:27 AM
Great idea  ;D
Title: Re: foutmelding logboek
Post by: AngelinaBelle on September 05, 2012, 09:58:41 AM
Good Luck! 
I will be AFK for the next few days.
In that time I hope that someone else will be available for any questions you might have.
(I hope it is someone who can communicate better on the Dutch board, too)

All the best!
Title: Re: foutmelding logboek
Post by: weerforum on September 05, 2012, 10:00:52 AM
Thanx for the help AngelinaBelle.  :D
Title: Re: foutmelding logboek
Post by: weerforum on September 05, 2012, 10:03:31 AM
This is the block

Quote
<?php

/*
Block: Recent posts with post preview
Author: Blue @ Simple Portal.net
Version: 1.5
*/

/* [SETUP WHAT YOU WANT HERE] */

$topics_posts = 1;       // TOPICS - 1 | MESSAGES - 2
$limit = 30;             // How many recent posts do you want to output?
$number = 50;          // How many characters do you want to output?
$exclude_boards = array( 0);       // IF null guests can see all boards | IF you want to hide some boards use: array( ID1, ID2, ID3) where ID is the board's ID
$htmlspecialcharacters = false; // Do you need to show html special characters like Greek characters?

// Scroll Enable? Height and Speed?
$scrolling = 1;       // ENABLE - 1 | DISABLE - 2
$height = "455px";
$speed = 3;           // SLOW - 1 | MEDIUM - 10 | FAST - 20

// Do you want to translate it to your own language? :P
$text['sportal_false'] = 'Simple Portal not found';
$text['board'] = '';
$text['who'] = '';

/* [STOP!] - THIS IS THE END OF SETUP */

//Only code from now on ;)
global $smcFunc, $scripturl, $sourcedir, $modSettings, $user_info, $settings, $context;

// Lets see if you are using Simple Portal. If not...well...go get them :D
if (!file_exists($sourcedir . '/PortalBlocks.php'))
{
    echo $text['sportal_false'];
    return;
}

// Let's grab some database results
if ($topics_posts == 1) {

    if (is_array($exclude_boards) || (int) $exclude_boards === $exclude_boards)
    {
       $exclude_boards = is_array($exclude_boards) ? $exclude_boards : array($exclude_boards);
    }
    elseif ($exclude_boards != null)
    {
       $output_method = $exclude_boards;
       $exclude_boards = array();
    }

$posts_result = $smcFunc['db_query']('', '
   SELECT IFNULL(u.real_name, m.poster_name) AS poster_name, m.poster_time, m.id_msg, t.id_member_updated, m.subject, m.body, m.id_topic, b.name, t.id_last_msg, u.avatar, g.online_color,' . ($user_info['is_guest'] ? '1 AS is_read, 0 AS new_from' : '
          IFNULL(lt.id_msg, IFNULL(lmr.id_msg, 0)) >= m.id_msg_modified AS is_read,
          IFNULL(lt.id_msg, IFNULL(lmr.id_msg, -1)) + 1 AS new_from') . '
   FROM {db_prefix}topics AS t
   LEFT JOIN {db_prefix}boards AS b ON (t.id_board = b.id_board)
   LEFT JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_last_msg)
   LEFT JOIN {db_prefix}members AS u ON (t.id_member_updated = u.id_member)
   LEFT JOIN {db_prefix}membergroups AS g ON (g.id_group = CASE WHEN u.id_group = 0 THEN u.id_post_group ELSE u.id_group END)
   ' . (!$user_info['is_guest'] ? '
       LEFT JOIN {db_prefix}log_topics AS lt ON (lt.id_topic = m.id_topic AND lt.id_member = ' . $user_info['id'] . ')
       LEFT JOIN {db_prefix}log_mark_read AS lmr ON (lmr.id_board = b.id_board AND lmr.id_member = ' . $user_info['id'] . ')' : '') . '     
   WHERE m.approved=1'   . (empty($exclude_boards) ? '' : '
          AND b.id_board NOT IN ({array_int:exclude_boards})') . ' AND {query_see_board}
   ORDER BY t.id_last_msg DESC
   LIMIT ' . $limit,
       array(
          'exclude_boards' => empty($exclude_boards) ? '' : $exclude_boards,
       )   
   );
$posts = array();
while ($row_posts = $smcFunc['db_fetch_assoc']($posts_result))
{

      global $memberContext;
      loadMemberData($row_posts['id_member_updated']);
      loadMemberContext($row_posts['id_member_updated']);

   $posts[] = array(
      'id' => $row_posts['id_member_updated'],
      'username' => '<a style="color: ' . $row_posts['online_color'] . ';" href="' . $scripturl . '?action=profile;u=' . $row_posts['id_member_updated'] . '">' . $row_posts['poster_name'] . '</a>',
      'subject' => '<a style="font-weight: bold;" title="' . $text['board'] . '&nbsp;' . $row_posts['name'] .'" href="' . $scripturl . '?topic=' . $row_posts['id_topic'] . '.msg' . $row_posts['id_last_msg'] . ';topicseen#new">' . $row_posts['subject'] . '</a>',
      'body' => $row_posts['body'],
      'avatar' => $row_posts['avatar'] == '' ? $memberContext[$row_posts['id_member_updated']]['avatar']['href'] : (stristr($row_posts['avatar'], 'http://') ? $row_posts['avatar'] : $modSettings['avatar_url'] . '/' . $row_posts['avatar']),
      'board' => $row_posts['name'],
      'time' => timeformat($row_posts['poster_time']),
      'new' => !empty($row_posts['is_read'])
   );
}
$smcFunc['db_free_result']($posts_result);

} else {

    if (is_array($exclude_boards) || (int) $exclude_boards === $exclude_boards)
    {
       $exclude_boards = is_array($exclude_boards) ? $exclude_boards : array($exclude_boards);
    }
    elseif ($exclude_boards != null)
    {
       $output_method = $exclude_boards;
       $exclude_boards = array();
    }

$posts_result = $smcFunc['db_query']('', '
   SELECT IFNULL(u.real_name, m.poster_name) AS poster_name, m.poster_time, m.id_msg, m.id_member, m.subject, m.body, m.id_topic, b.name, b.id_board, u.avatar, g.online_color,' . ($user_info['is_guest'] ? '1 AS is_read, 0 AS new_from' : '
          IFNULL(lt.id_msg, IFNULL(lmr.id_msg, 0)) >= m.id_msg_modified AS is_read,
          IFNULL(lt.id_msg, IFNULL(lmr.id_msg, -1)) + 1 AS new_from') . '
   FROM {db_prefix}messages AS m
   LEFT JOIN {db_prefix}boards AS b ON (m.id_board = b.id_board)
   LEFT JOIN {db_prefix}members AS u ON (m.id_member = u.id_member)
   LEFT JOIN {db_prefix}membergroups AS g ON (g.id_group = CASE WHEN u.id_group = 0 THEN u.id_post_group ELSE u.id_group END)
   ' . (!$user_info['is_guest'] ? '
       LEFT JOIN {db_prefix}log_topics AS lt ON (lt.id_topic = m.id_topic AND lt.id_member = ' . $user_info['id'] . ')
       LEFT JOIN {db_prefix}log_mark_read AS lmr ON (lmr.id_board = b.id_board AND lmr.id_member = ' . $user_info['id'] . ')' : '') . '   
   WHERE m.approved=1'   . (empty($exclude_boards) ? '' : '
          AND b.id_board NOT IN ({array_int:exclude_boards})') . ' AND {query_see_board}
   ORDER BY m.id_msg DESC
   LIMIT ' . $limit,
       array(
          'exclude_boards' => empty($exclude_boards) ? '' : $exclude_boards,
       )   
   );
$posts = array();
while ($row_posts = $smcFunc['db_fetch_assoc']($posts_result))
{

      global $memberContext;
      loadMemberData($row_posts['id_member']);
      loadMemberContext($row_posts['id_member']);

   $posts[] = array(
      'id' => $row_posts['id_member'],
      'username' => '<a style="color: ' . $row_posts['online_color'] . ';" href="' . $scripturl . '?action=profile;u=' . $row_posts['id_member'] . '">' . $row_posts['poster_name'] . '</a>',
      'subject' => '<a style="font-weight: bold;" title="' . $text['board'] . '&nbsp;' . $row_posts['name'] .'" href="' . $scripturl . '?topic=' . $row_posts['id_topic'] . '.msg' . $row_posts['id_msg'] . ';topicseen#new">' . $row_posts['subject'] . '</a>',
      'body' => $row_posts['body'],
      'avatar' => $row_posts['avatar'] == '' ? $memberContext[$row_posts['id_member']]['avatar']['href'] : (stristr($row_posts['avatar'], 'http://') ? $row_posts['avatar'] : $modSettings['avatar_url'] . '/' . $row_posts['avatar']),
      'board' => $row_posts['name'], 
      'time' => timeformat($row_posts['poster_time']),
      'new' => !empty($row_posts['is_read'])
   );
}
$smcFunc['db_free_result']($posts_result);

}

//Finally the Output

//Scrolling xD
if ($scrolling == 1)
echo '<div style="overflow: hidden;"><marquee height=' . $height . ' behavior="scroll" direction="up" scrollamount="' . $speed . '" onmouseover="this.stop()" onmouseout="this.start()">';

foreach ($posts as $post) {

// Lets fix the BBCode bug and Strip the Text   
 $form_message = preg_replace(array('~\n?\[quote.*?\].*\[/quote\]\n?~is', '~^\n~', '~\[/quote\]~'), '', $post['body']);
$content1 = str_replace("[", "<", $form_message);
$content2 = str_replace("]", ">", $content1);
$content3 = strip_tags($content2);
$preview = strip_tags(substr (htmlspecialchars_decode($content3),0,$number));

echo'<table>
       <tr>';
if (!(empty($post['avatar'])))
echo '       <td style="width: 0px;">
             <img src="' . $post['avatar'] .'" alt="" width="0px" height="0px" />
          </td>';
echo '       <td>
             ' . str_ireplace('Re: ', '', $post['subject']);

             if (!$post['new'] && $context['user']['is_logged'])
                echo '&nbsp;<img src="', $settings['images_url'], '/', $context['user']['language'], '/new.gif" alt="new" border="0" />';

          echo '<br />
             <small>' . $post['time'] .'</small>
          </td>
       </tr>
    </table>';   
   
    if ($htmlspecialcharacters) {
    echo htmlspecialchars($preview, ENT_NOQUOTES, "UTF-8") . '...';
    } else {
    echo $preview . '...';
    }

echo '<hr />';
    }

//Scrolling xD
if ($scrolling == 1)
echo '</marquee></div>';   
    ?>
Title: Re: foutmelding logboek
Post by: AngelinaBelle on September 05, 2012, 10:08:31 AM
You may be happy to get yourself a free editor with line numbers, to help you find lines.

line 85 is
Code: [Select]
      'avatar' => $row_posts['avatar'] == '' ? $memberContext[$row_posts['id_member_updated']]['avatar']['href'] : (stristr($row_posts['avatar'], 'http://') ? $row_posts['avatar'] : $modSettings['avatar_url'] . '/' . $row_posts['avatar']),My best guess for something that could possibly be 0 is $row_posts['id_member_updated']
Your job is to figure out if this is true (echo $row_posts['id_member_updated'];) and, if so, why.

Since this block was written by Blue, you might ask about it on the topic where he provides this php code.  Either blue or someone else familiar with this code might be very helpful to you.
Title: Re: foutmelding logboek
Post by: weerforum on September 06, 2012, 04:46:37 AM
I have removed this line, and it works fine again.
Thnx for the help  :D :D :D
Title: Re: foutmelding logboek
Post by: AngelinaBelle on September 10, 2012, 01:51:41 PM
I am glad you found a solution. Thanks for marking the topic solved.
SimplePortal 2.3.8 © 2008-2024, SimplePortal