2 Replies - 340 Views - Last Post: 30 January 2012 - 04:35 PM Rate Topic: -----

Topic Sponsor:

#1 VolcomMky  Icon User is offline

  • D.I.C Regular

Reputation: 67
  • View blog
  • Posts: 261
  • Joined: 13-May 09

WordPress Issue - unexpected $end

Posted 30 January 2012 - 03:02 PM

I am having a weird issue that I cannot put my finger on..

This morning I was trying to upload a file through the media section.
Kept getting an error so I went in to do some testing.

Was echoing out the upload result, tried changing file permissions, undid everything, and am now ending up with random errors.

Here is one (this one just started),
Fatal error: Call to undefined function set_screen_options() in/wp-admin/admin.php on line 74

The first error I started running into is this,
Parse error: syntax error, unexpected $end in /wp-admin/includes/file.php on line 348

Here is the function containing line 348
function wp_handle_upload( &$file, $overrides = false, $time = null ) {
	// The default error handler.
	if ( ! function_exists( 'wp_handle_upload_error' ) ) {
		function wp_handle_upload_error( &$file, $message ) {
			return array( 'error'=>$message );
		}
	}

	$file = apply_filters( 'wp_handle_upload_prefilter', $file );

	// You may define your own function and pass the name in $overrides['upload_error_handler']
	$upload_error_handler = 'wp_handle_upload_error';

	// You may have had one or more 'wp_handle_upload_prefilter' functions error out the file.  Handle that gracefully.
	if ( isset( $file['error'] ) && !is_numeric( $file['error'] ) && $file['error'] )
		return $upload_error_handler( $file, $file['error'] );

	// You may define your own function and pass the name in $overrides['unique_filename_callback']
	$unique_filename_callback = null;

	// $_POST['action'] must be set and its value must equal $overrides['action'] or this:
	$action = 'wp_handle_upload';

	// Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error'].
	$upload_error_strings = array( false,
		__( "The uploaded file exceeds the <code>upload_max_filesize</code> directive in <code>php.ini</code>." ),
		__( "The uploaded file exceeds the <em>MAX_FILE_SIZE</em> directive that was specified in the HTML form." ),
		__( "The uploaded file was only partially uploaded." ),
		__( "No file was uploaded." ),
		'',
		__( "Missing a temporary folder." ),
		__( "Failed to write file to disk." ),
		__( "File upload stopped by extension." ));

	// All tests are on by default. Most can be turned off by $override[{test_name}] = false;
	$test_form = true;
	$test_size = true;
	$test_upload = true;

	// If you override this, you must provide $ext and $type!!!!
	$test_type = true;
	$mimes = false;

	// Install user overrides. Did we mention that this voids your warranty?
	if ( is_array( $overrides ) )
		extract( $overrides, EXTR_OVERWRITE );

	// A correct form post will pass this test.
	if ( $test_form && (!isset( $_POST['action'] ) || ($_POST['action'] != $action ) ) )
		return call_user_func($upload_error_handler, $file, __( 'Invalid form submission.' ));

	// A successful upload will pass this test. It makes no sense to override this one.
	if ( $file['error'] > 0 )
		return call_user_func($upload_error_handler, $file, $upload_error_strings[$file['error']] );

	// A non-empty file will pass this test.
	if ( $test_size && !($file['size'] > 0 ) ) {
		if ( is_multisite() )
			$error_msg = __( 'File is empty. Please upload something more substantial.' );
		else
			$error_msg = __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.' );
		return call_user_func($upload_error_handler, $file, $error_msg);
	}

	// A properly uploaded file will pass this test. There should be no reason to override this one.
	if ( $test_upload && ! @ is_uploaded_file( $file['tmp_name'] ) )
		return call_user_func($upload_error_handler, $file, __( 'Specified file failed upload test.' ));

	// A correct MIME type will pass this test. Override $mimes or use the upload_mimes filter.
	if ( $test_type ) {
		$wp_filetype = wp_check_filetype_and_ext( $file['tmp_name'], $file['name'], $mimes );

		extract( $wp_filetype );

		// Check to see if wp_check_filetype_and_ext() determined the filename was incorrect
		if ( $proper_filename )
		{
			$file['name'] = $proper_filename;
		}

		if (( !$type || !$ext ) && !current_user_can( 'unfiltered_upload' ) )
		{
			return call_user_func($upload_error_handler, $file, __( 'Sorry, this file type is not permitted for security reasons.' ));
		}

		if ( !$ext )
		{
			$ext = ltrim(strrchr($file['name'], '.'), '.');
		}

		if ( !$type )
		{
			$type = $file['type'];
		}
	} else {
		$type = '';
	}

	// A writable uploads dir will pass this test. Again, there's no point overriding this one.
	if ( ! ( ( $uploads = wp_upload_dir($time) ) && false === $uploads['error'] ) )
	{
		return call_user_func($upload_error_handler, $file, $uploads['error'] );
	}

	$filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );

	// Move the file to the uploads dir
	$new_file = $uploads['path'] . "/$filename";
	if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
		return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );

	// Set correct file permissions
	$stat = stat( dirname( $new_file ));
	$perms = $stat['mode'] & 0000666;
	@ chmod( $new_file, $perms );

	// Compute the URL
	$url = $uploads['url'] . "/$filename";

	if ( is_multisite() )
		delete_transient( 'dirsize_cache' );

	return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' );
}


Line 348 Is this line:
return call_user_func($upload_error_handler, $file, __( 'Sorry, this file type is not permitted for security reasons.' ));


Any thoughts?
I checked brackets, parenthesis, commas, semi-colons, and am slowly but surely testing cutting each function out.

Removing wp_handle_sideload and wp_handle_upload functions and a few miscellaneous ones will allow the pages to load, but have no functionality

Is This A Good Question/Topic? 0
  • +

Replies To: WordPress Issue - unexpected $end

#2 VolcomMky  Icon User is offline

  • D.I.C Regular

Reputation: 67
  • View blog
  • Posts: 261
  • Joined: 13-May 09

Re: WordPress Issue - unexpected $end

Posted 30 January 2012 - 03:41 PM

Uploaded a fresh wp-admin folder and got this error

"Parse error: syntax error, unexpected $end in /wp-admin/custom-background.php on line 237"

The line is this
<input type="hidden" name="action" value="save" />


The code surrounding this is
<tr valign="top">
<th scope="row"><?php _e('Upload Image'); ?></th>
<td><form enctype="multipart/form-data" id="upload-form" method="post" action="">
<label for="upload"><?php _e('Choose an image from your computer:'); ?></label><br /><input type="file" id="upload" name="import" />
<input type="hidden" name="action" value="save" />
<?php wp_nonce_field('custom-background-upload', '_wpnonce-custom-background-upload') ?>
<?php submit_button( __( 'Upload' ), 'button', 'submit', false ); ?>
</p>
</form>
</td>
</tr>
</tbody>
</table>

Was This Post Helpful? 0
  • +
  • -

#3 VolcomMky  Icon User is offline

  • D.I.C Regular

Reputation: 67
  • View blog
  • Posts: 261
  • Joined: 13-May 09

Re: WordPress Issue - unexpected $end

Posted 30 January 2012 - 04:35 PM

Problem Fixed!

Don't judge me, but it was everytime I would go to upload a file after editing it, it would upload a blank file.

Why?
Because the space on the server was maxed out.. Explains everything, chain reaction!

Upload Photo to Gallery... Fail! :nottalkingtoyou:
Modify Upload Processing to fix Gallery... Fail! :whistling:
Modify Admin to display error with Upload Processing to fix Gallery... Fail! :helpsmilie:

Free up space and re-upload files with originals, Win! :withstupid:
... S.o.B ...
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1