Hi there.
Im pretty new to PHP and have made a terrible mistake,
Im getting this message Parse error: syntax error, unexpected T_STRING ......functions.php on line 2

the site workd fine but failed once Ive tried to add a sidebar,
Ive tried to replace the function.php code Ive just eddited with the original one i got from the theme file, and got that message

at the moment I have no access to my site at all, I only get the above message and am copletly lost.

heres the functions.php file currently used:

<?php

$artThemeSettings = array(
'menu.showSubmenus' => true,
'menu.homeCaption' => "Home",
'menu.showHome' => true,
'menu.topItemBegin' => "<span class=\"l\"></span><span class=\"r\"></span><span class=\"t\">",
'menu.topItemEnd' => "</span>"
);

and so on......


any thoughs?

what happens if I delete all theme files? would I be able to go back to my dashboard and load a new theme?

Id be very greatfull for some help here, as I said, Im clueless at this point.

thank

Recommended Answers

All 2 Replies

You did not post the code where this syntax error is actually, post the functions.php.
Do you have more than one php file with the same name as functions.php in different directories

again, thanks for your quick help.
Im very new to the whole thing, this is my 1st site.

the functions.php on my server now is the original Ive downloaded a few hours ago in an atempt to correct a previous mistake.

heres the file's php:

<?php

$artThemeSettings = array(
    'menu.showSubmenus' => true,
    'menu.homeCaption' => "Home",
    'menu.showHome' => true,
    'menu.topItemBegin' => "<span class=\"l\"></span><span class=\"r\"></span><span class=\"t\">",
    'menu.topItemEnd' => "</span>"
);

load_theme_textdomain('kubrick');

$themename = "tropical fish";
$shortname = "art";
$default_footer_content = "<a href='#'>Contact Us</a> | <a href='#'>Terms of Use</a> | <a href='#'>Trademarks</a> | <a href='#'>Privacy Statement</a><br/>Copyright &copy; 2009 ".get_bloginfo('name').". All Rights Reserved.";
$options = array (
                array(  "name" => "HTML",
                        "desc" => sprintf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>', 'kubrick'), 'a, abbr, acronym, em, b, i, strike, strong, span'),
                        "id" => "art_footer_content",
                        "std" => $default_footer_content,
                        "type" => "textarea")
          );

function art_add_admin() {

    global $themename, $shortname, $options;

    if ( $_GET['page'] == basename(__FILE__) ) {

        if ('save' == $_REQUEST['action'] ) {

                foreach ($options as $value) {
                    if($value['type'] != 'multicheck'){
                        update_option( $value['id'], $_REQUEST[ $value['id'] ] );
                    }else{
                        foreach($value['options'] as $mc_key => $mc_value){
                            $up_opt = $value['id'].'_'.$mc_key;
                            update_option($up_opt, $_REQUEST[$up_opt] );
                        }
                    }
                }
                foreach ($options as $value) {
                    if($value['type'] != 'multicheck'){
                        if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ]  ); } else { delete_option( $value['id'] ); }
                    }else{
                        foreach($value['options'] as $mc_key => $mc_value){
                            $up_opt = $value['id'].'_'.$mc_key;
                            if( isset( $_REQUEST[ $up_opt ] ) ) { update_option( $up_opt, $_REQUEST[ $up_opt ]  ); } else { delete_option( $up_opt ); }
                        }
                    }
                }
                header("Location: themes.php?page=functions.php&saved=true");
                die;
        } 
    }

    add_theme_page("Footer", "Footer", 'edit_themes', basename(__FILE__), 'art_admin');

}

function art_admin() {
    global $themename, $shortname, $options;
    if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>';
?>
<div class="wrap">
    <h2>Footer</h2>

    <form method="post">

        <table class="optiontable" style="width:100%;">

<?php foreach ($options as $value) {

    switch ( $value['type'] ) {
        case 'text':
        option_wrapper_header($value);
        ?>
                <input style="width:100%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo get_settings( $value['id'] ); } else { echo $value['std']; } ?>" />
        <?php
        option_wrapper_footer($value);
        break;

        case 'select':
        option_wrapper_header($value);
        ?>
                <select style="width:70%;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>">
                    <?php foreach ($value['options'] as $option) { ?>
                    <option<?php if ( get_settings( $value['id'] ) == $option) { echo ' selected="selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?>><?php echo $option; ?></option>
                    <?php } ?>
                </select>
        <?php
        option_wrapper_footer($value);
        break;

        case 'textarea':
        $ta_options = $value['options'];
        option_wrapper_header($value);
        ?>
                <textarea name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" style="width:100%;height:100px;"><?php
                if( get_settings($value['id']) !== false) {
                        echo get_settings($value['id']);
                    }else{
                        echo $value['std'];
                }?></textarea>
        <?php
        option_wrapper_footer($value);
        break;

        case "radio":
        option_wrapper_header($value);

        foreach ($value['options'] as $key=>$option) {
                $radio_setting = get_settings($value['id']);
                if($radio_setting != ''){
                    if ($key == get_settings($value['id']) ) {
                        $checked = "checked=\"checked\"";
                        } else {
                            $checked = "";
                        }
                }else{
                    if($key == $value['std']){
                        $checked = "checked=\"checked\"";
                    }else{
                        $checked = "";
                    }
                }?>
                <input type="radio" name="<?php echo $value['id']; ?>" value="<?php echo $key; ?>" <?php echo $checked; ?> /><?php echo $option; ?><br />
        <?php
        }

        option_wrapper_footer($value);
        break;

        case "checkbox":
        option_wrapper_header($value);
                        if(get_settings($value['id'])){
                            $checked = "checked=\"checked\"";
                        }else{
                            $checked = "";
                        }
                    ?>
                    <input type="checkbox" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> />
        <?php
        option_wrapper_footer($value);
        break;

        case "multicheck":
        option_wrapper_header($value);

        foreach ($value['options'] as $key=>$option) {
                 $pn_key = $value['id'] . '_' . $key;
                $checkbox_setting = get_settings($pn_key);
                if($checkbox_setting != ''){
                    if (get_settings($pn_key) ) {
                        $checked = "checked=\"checked\"";
                        } else {
                            $checked = "";
                        }
                }else{
                    if($key == $value['std']){
                        $checked = "checked=\"checked\"";
                    }else{
                        $checked = "";
                    }
                }?>
                <input type="checkbox" name="<?php echo $pn_key; ?>" id="<?php echo $pn_key; ?>" value="true" <?php echo $checked; ?> /><label for="<?php echo $pn_key; ?>"><?php echo $option; ?></label><br />
        <?php
        }

        option_wrapper_footer($value);
        break;

        case "heading":
        ?>
        <tr valign="top">
            <td colspan="2" style="text-align: center;"><h3><?php echo $value['name']; ?></h3></td>
        </tr>
        <?php
        break;

        default:

        break;
    }
}
?>

        </table>

        <p class="submit">
            <input name="save" type="submit" value="Save changes" />
            <input type="hidden" name="action" value="save" />
        </p>
    </form>
</div>
<?php
}

function option_wrapper_header($values){
    ?>
    <tr valign="top">
        <th scope="row" style="width:1%;white-space: nowrap;"><?php echo $values['name']; ?>:</th>
        <td>
    <?php
}

function option_wrapper_footer($values){
    ?>
        </td>
    </tr>
    <tr valign="top">
        <td>&nbsp;</td><td><small><?php echo $values['desc']; ?></small></td>
    </tr>
    <?php
}


add_action('admin_menu', 'art_add_admin'); 

if (!function_exists('get_search_form')) {
    function get_search_form()
    {
        include (TEMPLATEPATH . "/searchform.php");
    }
}

if (!function_exists('get_previous_posts_link')) {
    function get_previous_posts_link($label)
    {
        ob_start();
        previous_posts_link($label);
        return ob_get_clean();
    }
}

if (!function_exists('get_next_posts_link')) {
    function get_next_posts_link($label)
    {
        ob_start();
        next_posts_link($label);
        return ob_get_clean();
    }
}

if (!function_exists('get_previous_post_link')) {
    function get_previous_post_link($label)
    {
        ob_start();
        previous_post_link($label);
        return ob_get_clean();
    }
}

if (!function_exists('get_next_post_link')) {
    function get_next_post_link($label)
    {
        ob_start();
        next_post_link($label);
        return ob_get_clean();
    }
}

function art_comment($comment, $args, $depth)
{
     $GLOBALS['comment'] = $comment; ?>
   <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
     <div id="comment-<?php comment_ID(); ?>">
<div class="Post">
         <div class="Post-body">
     <div class="Post-inner article">

<div class="PostContent">

      <div class="comment-author vcard">
         <?php echo get_avatar($comment,$size='48',$default='<path_to_url>' ); ?>

         <?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
      </div>
      <?php if ($comment->comment_approved == '0') : ?>
         <em><?php _e('Your comment is awaiting moderation.') ?></em>
         <br />
      <?php endif; ?>

      <div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),'  ','') ?></div>

      <?php comment_text() ?>

      <div class="reply">
         <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
      </div>

      </div>
      <div class="cleared"></div>


      </div>

          </div>
      </div>

     </div>
<?php
}


if (function_exists('register_sidebars')) {
    register_sidebars(1, array(
        'before_widget' => '<!--- BEGIN Widget --->',
        'before_title' => '<!--- BEGIN WidgetTitle --->',
        'after_title' => '<!--- END WidgetTitle --->',
        'after_widget' => '<!--- END Widget --->'
    ));
}

function art_normalize_widget_style_tokens($content) {
    $bw = '<!--- BEGIN Widget --->';
    $bwt = '<!--- BEGIN WidgetTitle --->';
    $ewt = '<!--- END WidgetTitle --->';
    $bwc = '<!--- BEGIN WidgetContent --->';
    $ewc = '<!--- END WidgetContent --->';
    $ew = '<!--- END Widget --->';
    $result = '';
    $startBlock = 0;
    $endBlock = 0;
    while (true) {
        $startBlock = strpos($content, $bw, $endBlock);
        if (false === $startBlock) {
            $result .= substr($content, $endBlock);
            break;
        }
        $result .= substr($content, $endBlock, $startBlock - $endBlock);
        $endBlock = strpos($content, $ew, $startBlock);
        if (false === $endBlock) {
            $result .= substr($content, $endBlock);
            break;
        }
        $endBlock += strlen($ew);
        $widgetContent = substr($content, $startBlock, $endBlock - $startBlock);
        $beginTitlePos = strpos($widgetContent, $bwt);
        $endTitlePos = strpos($widgetContent, $ewt);
        if ((false == $beginTitlePos) xor (false == $endTitlePos)) {
            $widgetContent = str_replace($bwt, '', $widgetContent);
            $widgetContent = str_replace($ewt, '', $widgetContent);
        } else {
            $beginTitleText = $beginTitlePos + strlen($bwt);
            $titleContent = substr($widgetContent, $beginTitleText, $endTitlePos - $beginTitleText);
            if ('&nbsp;' == $titleContent) {
                $widgetContent = substr($widgetContent, 0, $beginTitlePos)
                    . substr($widgetContent, $endTitlePos + strlen($ewt));
            }
        }
        if (false === strpos($widgetContent, $bwt)) {
            $widgetContent = str_replace($bw, $bw . $bwc, $widgetContent);
        } else {
            $widgetContent = str_replace($ewt, $ewt . $bwc, $widgetContent);
        }
        $result .= str_replace($ew, $ewc . $ew, $widgetContent);
    }
    return $result;
}

function art_sidebar($index = 1)
{
    if (!function_exists('dynamic_sidebar')) return false;
    ob_start();
    $success = dynamic_sidebar($index);
    $content = ob_get_clean();
    if (!$success) return false;
    $content = art_normalize_widget_style_tokens($content);
    $replaces = array(
        '<!--- BEGIN Widget --->' => "<div class=\"Block\">\r\n    <div class=\"Block-body\">\r\n",
        '<!--- BEGIN WidgetTitle --->' => "<div class=\"BlockHeader\">\r\n    <div class=\"l\"></div>\r\n    <div class=\"r\"></div>\r\n    <div class=\"header-tag-icon\">\r\n        <div class=\"t\">",
        '<!--- END WidgetTitle --->' => "</div>\r\n    </div>\r\n</div>",
        '<!--- BEGIN WidgetContent --->' => "<div class=\"BlockContent\">\r\n    <div class=\"BlockContent-tl\"></div>\r\n    <div class=\"BlockContent-tr\"></div>\r\n    <div class=\"BlockContent-bl\"></div>\r\n    <div class=\"BlockContent-br\"></div>\r\n    <div class=\"BlockContent-tc\"></div>\r\n    <div class=\"BlockContent-bc\"></div>\r\n    <div class=\"BlockContent-cl\"></div>\r\n    <div class=\"BlockContent-cr\"></div>\r\n    <div class=\"BlockContent-cc\"></div>\r\n    <div class=\"BlockContent-body\">\r\n",
        '<!--- END WidgetContent --->' => "\r\n    </div>\r\n</div>\r\n",
        '<!--- END Widget --->' => "\r\n    </div>\r\n</div>\r\n"
    );
    $bwt = '<!--- BEGIN WidgetTitle --->';
    $ewt = '<!--- END WidgetTitle --->';
    if ('' == $replaces[$bwt] && '' == $replaces[$ewt]) {
        $startTitle = 0;
        $endTitle = 0;
        $result = '';
        while (true) {
            $startTitle = strpos($content, $bwt, $endTitle);
            if (false == $startTitle) {
                $result .= substr($content, $endTitle);
                break;
            }
            $result .= substr($content, $endTitle, $startTitle - $endTitle);
            $endTitle = strpos($content, $ewt, $startTitle);
            if (false == $endTitle) {
                $result .= substr($content, $startTitle);
                break;
            }
            $endTitle += strlen($ewt);
        }
        $content = $result;
    }
    $content = str_replace(array_keys($replaces), array_values($replaces), $content);
    echo $content;
    return true;
}

function art_activeID($pages){
    $result = null;
    foreach ($pages as $index => $page){
        if (is_page($page->ID)) { 
            $result = $page;
            break;
        }
    }
    while($result && $result->post_parent) {
        foreach ($pages as $parent){
            if ($parent->ID == $result->post_parent) {
                $result = $parent;
                breack;
            }
        }
    }
    return ($result ? $result->ID : null);
}

function art_blogID($pages){
    $result = null;
    if(!'page' == get_option('show_on_front')) return $result;
    $blogID = get_option('page_for_posts');
    if (!$blogID) return $result;
    foreach ($pages as $index => $page){
        if ($page->ID == $blogID) { 
            $result = $page;
            break;
        }
    }
    while($result && $result->post_parent) {
        foreach ($pages as $parent){
            if ($parent->ID == $result->post_parent) {
                $result = $parent;
                breack;
            }
        }
    }
    return ($result ? $result->ID : null);
}

function art_process_front(&$pages){
    if ('page' != get_option('show_on_front')) return;
    $frontID = get_option('page_on_front');
    if (!$frontID) return;
    foreach ($pages as $index => $page)
        if($page->ID == $frontID) {
            unset($pages[$index]);
            $page->post_parent = '0';
            $page->menu_order = '0';
            array_unshift($pages, $page);
            break;
        }
}

function art_topIDs($pages){
    $result = array();
    foreach ($pages as $index => $page)
        if (!$page->post_parent) $result[]=$page->ID;
    return $result;
}

function art_remove_subitems(&$pages){
    foreach ($pages as $index => $page)
        if ($page->post_parent) unset($pages[$index]);
}

function art_header_page_list_filter($pages)
{
    global $artThemeSettings;
    art_process_front($pages);
    $artThemeSettings['menu.topItemIDs'] = art_topIDs($pages);
    $artThemeSettings['menu.activeID'] = art_activeID($pages);
    $artThemeSettings['menu.blogID'] = art_blogID($pages);
    if (!$artThemeSettings['menu.showSubmenus']) art_remove_subitems($pages);
    return $pages;
}

function art_list_pages_filter($output)
{
    global $artThemeSettings;
    $pref ='page-item-';
    if($artThemeSettings['menu.topItemIDs'])
        foreach($artThemeSettings['menu.topItemIDs'] as $id){
            $output = preg_replace('~<li class="([^"]*)\b(' . $pref . $id . ')\b([^"]*)"><a ([^>]+)>([^<]*)</a>~',
                '<li class="$1$2$3"><a $4>' . $artThemeSettings['menu.topItemBegin']
                    . '$5' . $artThemeSettings['menu.topItemEnd'] . '</a>', $output, 1);
        }

    $frontID = null;
    $blogID = null;
    if('page' == get_option('show_on_front')) {
        $frontID = get_option('page_on_front');
        $blogID = $artThemeSettings['menu.blogID'];
    }
    if ($frontID) 
        $output = preg_replace('~<li class="([^"]*)\b(' . $pref . $frontID . ')\b([^"]*)"><a href="([^"]*)" ~',
            '<li class="$1$2$3"><a href="'. get_option('home') .'" ', $output, 1); 

    if ((is_home() && $blogID) || $artThemeSettings['menu.activeID'])
        $output = preg_replace('~<li class="([^"]*)\b(' . $pref . (is_home() ? $blogID : $artThemeSettings['menu.activeID']) . ')\b([^"]*)"><a ~',
            '<li class="$1$2$3"><a class="active" ', $output, 1);
    return $output;
}

function art_menu_items()
{
    global $artThemeSettings;
    if (true === $artThemeSettings['menu.showHome'] && 'page' != get_option('show_on_front'))
        echo '<li><a' . (is_home() ? ' class="active"' : '') . ' href="' . get_option('home') . '">'.$artThemeSettings['menu.topItemBegin']
            . $artThemeSettings['menu.homeCaption'] . $artThemeSettings['menu.topItemEnd'] . '</a></li>';
    add_action('get_pages', 'art_header_page_list_filter');
    add_action('wp_list_pages', 'art_list_pages_filter');
    wp_list_pages('title_li=');
    remove_action('wp_list_pages', 'art_list_pages_filter');
    remove_action('get_pages', 'art_header_page_list_filter');
}

add_filter('comments_template', 'legacy_comments');  
function legacy_comments($file) {  
    if(!function_exists('wp_list_comments')) : // WP 2.7-only check  
    $file = TEMPLATEPATH.'/legacy.comments.php';  
    endif;  
    return $file;  
}  

I dont understand how come it shows an error when previously it worked fine...

at the moment I have no access to my domain at all, cant change theme through wordpress .

If I cant find resolution to this mess, how can I change the theme through the server (godaddy)?

thanks for your help

tobisan

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.