Jump to content

serious need help with this errors


Go to solution Solved by nobleman80,

Recommended Posts

i m facing this 2 errors in the below script

Notice: Undefined index: media in D:\server\website\htdocs\wefondyou\themes\grape\layout\story\content.phtml on line 107

Warning: Invalid argument supplied for foreach() in D:\server\website\htdocs\wefondyou\themes\grape\layout\story\content.phtml on line 107

 

I had tried add isset and is_array to line, the errors gone away, but image also gone away. any ideas??

<div id="story_<?php echo $sk['story']['id']; ?>" class="story-wrapper story_<?php echo $sk['story']['id']; ?>" data-story-id="<?php echo $sk['story']['id']; ?>">
    <div class="publisher-wrapper">
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
            <td width="48px" align="left" valign="top">
                <a href="<?php echo $sk['story']['publisher']['url']; ?>" data-href="?tab1=timeline&id=<?php echo $sk['story']['publisher']['username']; ?>">
                    <img class="avatar" src="<?php echo $sk['story']['publisher']['thumbnail_url']; ?>" width="40px" height="40px" alt="<?php echo $sk['story']['publisher']['name']; ?>">
                </a>
            </td>
            <td align="left" valign="top">
                <a class="name" href="<?php echo $sk['story']['publisher']['url']; ?>" data-href="?tab1=timeline&id=<?php echo $sk['story']['publisher']['username']; ?>">
                    <?php echo substr($sk['story']['publisher']['name'], 0, 35); ?>
                </a> 
                <?php
                if ($sk['story']['recipient_exists'] == true) {
                ?>
                <i class="icon-arrow-right recipient-indicator-icon"></i> <a class="name" href="<?php echo $sk['story']['recipient']['url']; ?>" data-href="?tab1=timeline&id=<?php echo $sk['story']['recipient']['username']; ?>">
                    <?php echo substr($sk['story']['recipient']['name'], 0, 35); ?>
                </a> 
                <?php
                }

                echo $sk['story']['activity_text'];
                ?>
                <div class="other-data">
                    <span class="time-wrapper ajax-time" title="<?php echo date('c', $sk['story']['time']); ?>">
                        <?php echo date('c', $sk['story']['time']); ?>
                    </span>
                    <?php
                    if ($sk['story']['location_exists'] == true) {
                    ?>
                    <abbr class="space3">·</abbr>
                    <span class="location-wrapper" title="<?php echo $sk['story']['location']['name']; ?>">
                        <i class="icon-map-marker"></i>
                        <?php echo $sk['story']['location']['name']; ?>
                    </span>
                    <?php
                    }
                    ?>
                </div>
            </td>
        </tr>
        </table>
        <?php
        if ($sk['logged'] == true) {
        ?>
        <div class="setting-buttons">
            <?php
            if ($sk['story']['admin'] == true) {
            ?>
            <span class="remove-btn cursor-hand" title="<?php echo $lang['remove']; ?>" onclick="SK_deletePostWindow(<?php echo $sk['story']['id']; ?>);">
                <i class="icon-remove progress-icon"></i>
            </span>
            <?php
            } elseif (!SK_isPostReported($sk['story']['id'])) {
            ?>
            <span class="report-btn cursor-hand" title="<?php echo $lang['report']; ?>" onclick="SK_reportPost(<?php echo $sk['story']['id']; ?>);">
                <i class="icon-flag progress-icon"></i>
            </span>
            <?php
            }
            ?>
        </div>
        <?php
        }
        ?>
    </div>
    
    <?php
    if ($sk['logged'] == true) {
    ?>
    <div class="options-wrapper">
        <?php echo SK_getPostLikeButton($sk['story']['id']); ?>
        
        <abbr class="space6">·</abbr>
        
        <?php echo SK_getPostShareButton($sk['story']['id']); ?>
        
        <abbr class="space6">·</abbr>
        
        <?php echo SK_getPostFollowButton($sk['story']['id']); ?>
    </div>
    <?php
    }
    
    if (!empty($sk['story']['text'])) {
    ?>
    <div class="text-wrapper">
        <?php echo $sk['story']['text']; ?>
    </div>
    <?php
    }
    
    if ($sk['story']['media_exists'] == true) {
        
        // If it is photos
        if ($sk['story']['media_type'] == "photos") {
        ?>
        <div class="photos-wrapper">
            <?php
            $photo_class = 'width-' . $sk['story']['media_num'];
            
            if ($sk['story']['media_num'] >= 3) {
                $photo_class = 'width-3';
            }
            
   LINE HERE 107  ----->       foreach ($sk['story']['media'] as $photo) {
            ?>
            <a href="javascript:void(0);">
                <img class="<?php echo $photo_class; ?>" src="<?php echo $photo['url']; ?>" alt="Photo" onclick="javascript:SK_openLightbox(<?php echo $photo['post_id']; ?>);">
            </a>
            <?php
            }
            ?>
        </div>
        <?php
        } elseif ($sk['story']['media_type'] == "soundcloud") {
        ?>
        <div class="soundcloud-wrapper" align="center">
            <iframe frameborder="0" src="https://w.soundcloud.com/player/?url=<?php echo $sk['story']['media']['url']; ?>&color=f07b22" width="100%"></iframe>
        </div>
        <?php
        } elseif ($sk['story']['media_type'] == "youtube") {
        ?>
        <div class="youtube-wrapper" align="center">
            <iframe src="https://www.youtube.com/embed/<?php echo $sk['story']['media']['id']; ?>?ap=%2526fmt%3D18&disablekb=1&rel=0" width="100%" height="300px" frameborder="0" allowfullscreen></iframe>
        </div>
        <?php
        }
    } elseif ($sk['story']['location_exists'] == true) {
    ?>
    <div class="google-map-viewer-wrapper" align="center">
        <img src="http://maps.googleapis.com/maps/api/staticmap?center=<?php echo $sk['story']['location']['name']; ?>&zoom=13&size=600x300&maptype=roadmap&markers=color:red%7C<?php echo $sk['story']['location']['name']; ?>" width="100%" alt="<?php echo $sk['story']['location']['name']; ?>">
    </div>
    <?php
    }
    ?>
    <div class="activity-wrapper">
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
            <tr>
                <td align="left" valign="middle">
                    <span class="story-like-activity">
                        <?php
                        echo SK_getPostLikeActivityButton($sk['story']['id']);
                        ?>
                    </span>
                    
                    <abbr class="space6">·</abbr>
                    
                    <span class="story-comment-activity">
                        <?php
                        echo SK_getPostCommentActivityButton($sk['story']['id']);
                        ?>
                    </span>
                    
                    <abbr class="space6">·</abbr>
                    
                    <span class="story-share-activity">
                        <?php
                        echo SK_getPostShareActivityButton($sk['story']['id']);
                        ?>
                    </span>
                </td>
                
                <td align="right" valign="middle">
                    <?php if ($sk['story']['via_type'] == "like") {
                    ?>
                    <a class="via-name" href="<?php echo $sk['story']['via']['url']; ?>" data-href="?tab1=timeline&id=<?php echo $sk['story']['via']['username']; ?>">
                        <?php echo $sk['story']['via']['name']; ?>
                    </a> <?php echo $lang['likes_this_label']; ?>
                    <?php
                    } elseif ($sk['story']['via_type'] == "share") {
                    ?>
                    <a class="via-name" href="<?php echo $sk['story']['via']['url']; ?>" data-href="?tab1=timeline&id=<?php echo $sk['story']['via']['username']; ?>">
                        <?php echo $sk['story']['via']['name']; ?>
                    </a> <?php echo $lang['shared_this_label']; ?>
                    <?php
                    } elseif ($sk['story']['via_type'] == "tag") {
                    ?>
                    <a class="via-name" href="<?php echo $sk['story']['via']['url']; ?>" data-href="?tab1=timeline&id=<?php echo $sk['story']['via']['username']; ?>">
                        <?php echo substr($sk['story']['via']['name'], 0, 15); ?>
                    </a> <?php echo $lang['tagged_on_this_label']; ?>
                    <?php
                    }
                    ?>
                </td>
            </tr>
        </table>
    </div>
    
    <div class="comments-container hidden">
        <?php
        if ($sk['story']['view_all_comments'] == true) {
        ?>
        <div class="view-more-wrapper" align="center" onclick="SK_loadAllComments(<?php echo $sk['story']['id']; ?>);">
            <i class="icon-lightbulb progress-icon hide"></i>
            <?php
            echo $lang['view_all_comments_label'];
            ?>
        </div>
        <?php
        }
        ?>
        
        <div class="comments-wrapper">
            <?php
            echo $sk['story']['comments'];
            ?>
        </div>
        
        <?php
        echo $sk['story']['comment']['publisher_box'];
        ?>
    </div>
</div>
Link to comment
https://forums.phpfreaks.com/topic/292038-serious-need-help-with-this-errors/
Share on other sites

This is actually one error.  It namely being $sk['story']['media'] is not a valid array index, which means it doesn't exist.  Therefore, foreach throws an error that says it is invalid.  So, fix the array (or the index) and it should work.

PS. Ginerjm the OP did point it out, you just have to sort through that long list of code to find it.

This is actually one error.  It namely being $sk['story']['media'] is not a valid array index, which means it doesn't exist.  Therefore, foreach throws an error that says it is invalid.  So, fix the array (or the index) and it should work.

 

PS. Ginerjm the OP did point it out, you just have to sort through that long list of code to find it.

thanks for you kind reply,

i have edit the code as below, the error as gone but photos not appear.

 if (isset($sk['story']['media'])){
            foreach ((array)$sk['story']['media'] as $photo) {
            ?>
            <a href="javascript:void(0);">
                <img class="<?php echo $photo_class; ?>" src="<?php echo $photo['url']; ?>" alt="Photo" onclick="javascript:SK_openLightbox(<?php echo $photo['post_id']; ?>);">
            </a>
            <?php
            }}

Simply adding an isset doesn't change the fact that the index isn't set. Which is why your photo isn't showing.

 

You have just told it to not even try to load any photos, if the index isn't set. While that is correct, you still must fix the original problem.

 

To debug, add the following to your script.

echo '<pre>' . print_r($sk,true) . '</pre>';
  • Solution

Simply adding an isset doesn't change the fact that the index isn't set. Which is why your photo isn't showing.

 

You have just told it to not even try to load any photos, if the index isn't set. While that is correct, you still must fix the original problem.

 

To debug, add the following to your script.

echo '<pre>' . print_r($sk,true) . '</pre>';

thanks i found the problem in my database. solved..

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.