Ульяна Опубликовано 25 Января 2008 Жалоба Поделиться Опубликовано 25 Января 2008 При нажатии на кнопку "создать" выдает вот что:- // Got an ID? //----------------------------------------- if ( ! is_array( $attach_rel_ids ) or ! count( $attach_rel_ids ) ) { return FALSE; } //----------------------------------------- // Make sure we've got permission //----------------------------------------- if ( $this->plugin->return_bulk_remove_permission( $attach_rel_ids ) === TRUE ) { //----------------------------------------- // Get stuff //----------------------------------------- $this->ipsclass->DB->build_query( array( 'select' => '*', 'from' => 'attachments', 'where' => 'attach_rel_id IN ('.implode(",",$attach_rel_ids).") AND attach_rel_module='".$this->type."'" ) ); $this->ipsclass->DB->exec_query(); while( $_row = $this->ipsclass->DB->fetch_row() ) { $attachments[ $_row['attach_id'] ] = $_row; } foreach( $attachments as $attach_id => $attachment ) { //----------------------------------------- // Remove from the filesystem //----------------------------------------- if ( $attachment['attach_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_location'] ); } if ( $attachment['attach_thumb_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_thumb_location'] ); } //----------------------------------------- // Allow the module to clean up any items //----------------------------------------- $this->plugin->remove_attachment_clean_up( $attachment ); } //----------------------------------------- // Remove from the DB //----------------------------------------- $this->ipsclass->DB->build_and_exec_query( array( 'delete' => 'attachments', 'where' => 'attach_rel_id IN ('.implode(",",$attach_rel_ids).") AND attach_rel_module='".$this->type."'" ) ); return TRUE; } else { return FALSE; } } /*-------------------------------------------------------------------------*/ // Remove uploaded file /*-------------------------------------------------------------------------*/ /** * Removes an attachment. */ function remove_attachment() { //----------------------------------------- // Got an ID? //----------------------------------------- if ( ! $this->attach_id ) { return FALSE; } //----------------------------------------- // Get DB row //----------------------------------------- $attachment = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*', 'from' => 'attachments', 'where' => 'attach_id='.$this->attach_id." AND attach_rel_module='".$this->type."'" ) ); if ( ! $attachment['attach_id'] ) { return FALSE; } //----------------------------------------- // Make sure we've got permission //----------------------------------------- if ( $this->plugin->return_remove_permission( $attachment ) === TRUE ) { //----------------------------------------- // Remove from the DB //----------------------------------------- $this->ipsclass->DB->build_and_exec_query( array( 'delete' => 'attachments', 'where' => 'attach_id='.$attachment['attach_id'] ) ); //----------------------------------------- // Remove from the filesystem //----------------------------------------- if ( $attachment['attach_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_location'] ); } if ( $attachment['attach_thumb_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_thumb_location'] ); } //----------------------------------------- // Allow the module to clean up any items //----------------------------------------- $this->plugin->remove_attachment_clean_up( $attachment ); return TRUE; } else { return FALSE; } } /*-------------------------------------------------------------------------*/ // Post Process upload /*-------------------------------------------------------------------------*/ /** * Converts post-key attachments into rel_id / rel_module attachments * by adding in the correct ID, etc */ function post_process_upload( $args=array() ) { if ( ! $this->attach_post_key or ! $this->attach_rel_id ) { return FALSE; } //----------------------------------------- // Got any to update? //----------------------------------------- $this->ipsclass->DB->do_update( 'attachments', array( 'attach_rel_id' => $this->attach_rel_id, 'attach_rel_module' => $this->type ), "attach_post_key='". $this->attach_post_key ."'" ); //----------------------------------------- // Update module specific? //----------------------------------------- return $this->plugin->post_process_upload( $this->attach_post_key, $this->attach_rel_id, $args ); } /*-------------------------------------------------------------------------*/ // Process upload /*-------------------------------------------------------------------------*/ /** * Uploads and saves file */ function process_upload() { //----------------------------------------- // INIT //----------------------------------------- $this->error = ''; $this->get_upload_form_settings(); //----------------------------------------- // Check upload dir //----------------------------------------- if ( ! $this->check_upload_dir() ) { if ( $this->error ) { return; } } //----------------------------------------- // Got attachment types? //----------------------------------------- if ( ! isset( $this->ipsclass->cache['attachtypes'] ) OR ! is_array( $this->ipsclass->cache['attachtypes'] ) ) { $this->ipsclass->cache['attachtypes'] = array(); $this->ipsclass->DB->simple_construct( array( 'select' => 'atype_extension,atype_mimetype,atype_post,atype_photo,atype_img', 'from' => 'attachments_type', 'where' => "atype_photo=1 OR atype_post=1" ) ); $this->ipsclass->DB->simple_exec(); while ( $r = $this->ipsclass->DB->fetch_row() ) { $this->ipsclass->cache['attachtypes'][ $r['atype_extension'] ] = $r; } } //----------------------------------------- // Can upload? //----------------------------------------- if ( ! $this->attach_stats['allow_uploads'] ) { $this->error = 'no_upload_permission'; return; } //----------------------------------------- // Set up array //----------------------------------------- $attach_data = array( 'attach_ext' => "", 'attach_file' => "", 'attach_location' => "", 'attach_thumb_location' => "", 'attach_hits' => 0, 'attach_date' => time(), 'attach_temp' => 0, 'attach_post_key' => $this->attach_post_key, 'attach_member_id' => $this->ipsclass->member['id'], 'attach_rel_id' => $this->attach_rel_id, 'attach_rel_module' => $this->type, 'attach_filesize' => 0, ); //----------------------------------------- // Load the library //----------------------------------------- require_once( KERNEL_PATH.'class_upload.php' ); $upload = new class_upload(); //----------------------------------------- // Set up the variables //----------------------------------------- $upload->out_file_name = $this->type.'-'.$this->ipsclass->member['id'].'-'.time(); $upload->out_file_dir = $this->upload_path; $upload->max_file_size = $this->attach_stats['max_single_upload'] ? $this->attach_stats['max_single_upload'] : 1000000000; $upload->make_script_safe = 1; $upload->force_data_ext = 'ipb'; //----------------------------------------- // Populate allowed extensions //----------------------------------------- if ( is_array( $this->ipsclass->cache['attachtypes'] ) and count( $this->ipsclass->cache['attachtypes'] ) ) { foreach( $this->ipsclass->cache['attachtypes'] as $idx => $data ) { $upload->allowed_file_ext[] = $data['atype_extension']; } } //----------------------------------------- // Upload... //----------------------------------------- $upload->upload_process(); //----------------------------------------- // Error? //----------------------------------------- if ( $upload->error_no ) { switch( $upload->error_no ) { case 1: // No upload $this->error = 'upload_no_file'; return $attach_data; break; case 2: // Invalid file ext $this->error = 'invalid_mime_type'; return $attach_data; break; case 3: // Too big... $this->error = 'upload_too_big'; return $attach_data; break; case 4: // Cannot move uploaded file $this->error = 'upload_failed'; return $attach_data; break; case 5: // Possible XSS attack (image isn't an image) $this->error = 'upload_failed'; return $attach_data; break; } } //----------------------------------------- // Still here? //----------------------------------------- if ( $upload->saved_upload_name and @file_exists( $upload->saved_upload_name ) ) { //----------------------------------------- // Strip off { } and [ ] //----------------------------------------- $upload->original_file_name = preg_replace( "#[\[\]\{\}]#", "", $upload->original_file_name ); $attach_data['attach_filesize'] = @filesize( $upload->saved_upload_name ); $attach_data['attach_location'] = $this->upload_dir . $upload->parsed_file_name; $attach_data['attach_file'] = $upload->original_file_name; $attach_data['attach_is_image'] = $upload->is_image; $attach_data['attach_ext'] = $upload->real_file_extension; if ( $attach_data['attach_is_image'] == 1 ) { require_once( KERNEL_PATH.'class_image.php' ); $image = new class_image(); $image->in_type = 'file'; $image->out_type = 'file'; $image->in_file_dir = $this->upload_path; $image->in_file_name = $upload->parsed_file_name; $image->desired_width = $this->settings['siu_width']; $image->desired_height = $this->settings['siu_height']; $image->gd_version = $this->ipsclass->vars['gd_version']; if ( $this->settings['siu_thumb'] ) { $thumb_data = $image->generate_thumbnail(); } if ( $thumb_data['thumb_location'] ) { $attach_data['attach_img_width'] = $thumb_data['original_width']; $attach_data['attach_img_height'] = $thumb_data['original_height']; $attach_data['attach_thumb_width'] = $thumb_data['thumb_width']; $attach_data['attach_thumb_height'] = $thumb_data['thumb_height']; $attach_data['attach_thumb_location'] = $this->upload_dir . $thumb_data['thumb_location']; } } //----------------------------------------- // Add into Database //----------------------------------------- $this->ipsclass->DB->do_insert( 'attachments', $attach_data ); $newid = $this->ipsclass->DB->get_insert_id(); return $newid; } } /*-------------------------------------------------------------------------*/ // Upload form stuff /*-------------------------------------------------------------------------*/ /** * Gets stuff required for the upload form */ function get_upload_form_settings() { //----------------------------------------- // Collect settings from the plug-in //----------------------------------------- $stats = $this->plugin->get_space_allowance( $this->attach_post_key ); //----------------------------------------- // Format and return... //----------------------------------------- $this->attach_stats['space_used'] = $stats['space_used']; $this->attach_stats['space_used_human'] = $this->ipsclass->size_format( $stats['space_used'] ); $this->attach_stats['total_space_allowed'] = $stats['total_space_allowed'] ? $stats['total_space_allowed'] : $stats['max_single_upload']; $this->attach_stats['max_single_upload'] = $stats['max_single_upload']; $this->attach_stats['max_single_upload_human'] = $this->attach_stats['max_single_upload'] ? $this->ipsclass->size_format( $stats['max_single_upload'] ) : $this->language[ 'unlimited' ]; $this->attach_stats['total_space_allowed_human'] = $this->attach_stats['total_space_allowed'] ? $this->ipsclass->size_format( $this->attach_stats['total_space_allowed'] ) : $this->language[ 'unlimited' ]; if ( $stats['space_allowed'] == 0 ) { //----------------------------------------- // Unlimited... //----------------------------------------- $this->attach_stats['allow_uploads'] = 1; $this->attach_stats['space_allowed'] = 'unlimited'; $this->attach_stats['space_allowed_human'] = $this->language[ 'unlimited' ]; $this->attach_stats['space_left'] = 'unlimited'; $this->attach_stats['space_left_human'] = $this->language[ 'unlimited' ]; $this->attach_stats['total_space_allowed_human'] = $this->language[ 'unlimited' ]; //$this->attach_stats['space_used_human'] = $this->language[ 'unlimited' ]; } else if ( $stats['space_allowed'] == -1 ) { //----------------------------------------- // None //----------------------------------------- $this->attach_stats['allow_uploads'] = 0; $this->attach_stats['space_allowed'] = 'not_allowed'; $this->attach_stats['space_allowed_human'] = $this->language[ 'not_allowed' ]; $this->attach_stats['space_left'] = 'not_allowed'; $this->attach_stats['space_left_human'] = $this->language[ 'not_allowed' ]; } else { //----------------------------------------- // Set figure //----------------------------------------- $this->attach_stats['allow_uploads'] = 1; $this->attach_stats['space_left'] = $stats['space_left']; $this->attach_stats['space_left_human'] = $this->ipsclass->size_format( $stats['space_left'] ); } } /*-------------------------------------------------------------------------*/ // Check uploads dir /*-------------------------------------------------------------------------*/ /** * Checks the upload dir * See above. It's not rocket science * * @return void */ function check_upload_dir() { //----------------------------------------- // Check dir exists... //----------------------------------------- if ( ! file_exists( $this->upload_path ) ) { if ( @mkdir( $this->upload_path, 0777 ) ) { @chmod( $this->upload_path, 0777 ); } else { $this->error = "no_upload_dir"; return false; } } else if ( ! is_writeable( $this->upload_path ) ) { $this->error = "no_upload_dir_perms"; return false; } //----------------------------------------- // Try and create a new monthly dir // eg: monthly_12_2005 //----------------------------------------- $this_month = "monthly_" . gmdate( "m_Y", time() ); //----------------------------------------- // Already a dir? //----------------------------------------- if ( $this->settings['allow_monthly_upload_dirs'] ) { $path = $this->upload_path . "/" . $this_month; if ( ! file_exists( $path ) ) { if ( @mkdir( $path, 0777 ) ) { @chmod( $path, 0777 ); # Set path and dir correct $this->upload_path .= "/" . $this_month; $this->upload_dir = $this_month."/"; } //----------------------------------------- // Was it really made or was it lying? //----------------------------------------- if ( ! file_exists( $path ) ) { $this->upload_path = $this->_upload_path; $this->upload_dir = '/'; } } else { # Set path and dir correct $this->upload_path .= "/" . $this_month; $this->upload_dir = $this_month."/"; } } return true; } /*-------------------------------------------------------------------------*/ // Load plug-in class /*-------------------------------------------------------------------------*/ /** * Loads child extends class. */ function load_plugin() { //----------------------------------------- // INIT //----------------------------------------- $this->type = $this->ipsclass->txt_alphanumerical_clean( $this->type ); //----------------------------------------- // Load... //----------------------------------------- $file = ROOT_PATH . 'sources/classes/attach/plugin_'.$this->type.'.php'; $class = 'plugin_'.$this->type; if ( ! is_object( $this->plugin ) ) { if ( file_exists( $file ) ) { require_once( $file ); $this->plugin = new $class; $this->plugin->ipsclass =& $this->ipsclass; $this->plugin->get_settings(); } else { print "Could not locate $file"; exit(); } } } /*-------------------------------------------------------------------------*/ // Parse thumbnail attachments inline /*-------------------------------------------------------------------------*/ /** * Swaps the HTML for the nice attachments. * * @param array Array of matches from preg_replace_callback * @return string HTML */ function _parse_thumbnail_inline( $matches ) { //----------------------------------------- // INIT //----------------------------------------- $row = $this->_current['row']; $skin_name = $this->_current['skin_name']; //----------------------------------------- // Generate random ID //----------------------------------------- $row['_attach_id'] = $row['attach_id'] . '-' . preg_replace( "#[\.\s]#", "-", microtime() ); //----------------------------------------- // Build HTML //----------------------------------------- $tmp = $this->ipsclass->compiled_templates[ $skin_name ]->Show_attachments_img_thumb( array( 't_location' => $row['attach_thumb_location'], 't_width' => $row['attach_thumb_width'], 't_height' => $row['attach_thumb_height'], 'o_width' => $row['attach_img_width'], 'o_height' => $row['attach_img_height'], 'attach_id' => $row['attach_id'], '_attach_id' => $row['_attach_id'], 'file_size' => $this->ipsclass->size_format( $row['attach_filesize'] ), 'attach_hits' => $row['attach_hits'], 'location' => $row['attach_file'], 'type' => $this->_current['type'], ) ); return $tmp; } } ?> Но при всем при этом тему создает.....что поправить? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Ульяна Опубликовано 26 Января 2008 Автор Жалоба Поделиться Опубликовано 26 Января 2008 Народ!!!Помочь кто-то может по данному вопросу? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Ульяна
При нажатии на кнопку "создать" выдает вот что:
- // Got an ID? //----------------------------------------- if ( ! is_array( $attach_rel_ids ) or ! count( $attach_rel_ids ) ) { return FALSE; } //----------------------------------------- // Make sure we've got permission //----------------------------------------- if ( $this->plugin->return_bulk_remove_permission( $attach_rel_ids ) === TRUE ) { //----------------------------------------- // Get stuff //----------------------------------------- $this->ipsclass->DB->build_query( array( 'select' => '*', 'from' => 'attachments', 'where' => 'attach_rel_id IN ('.implode(",",$attach_rel_ids).") AND attach_rel_module='".$this->type."'" ) ); $this->ipsclass->DB->exec_query(); while( $_row = $this->ipsclass->DB->fetch_row() ) { $attachments[ $_row['attach_id'] ] = $_row; } foreach( $attachments as $attach_id => $attachment ) { //----------------------------------------- // Remove from the filesystem //----------------------------------------- if ( $attachment['attach_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_location'] ); } if ( $attachment['attach_thumb_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_thumb_location'] ); } //----------------------------------------- // Allow the module to clean up any items //----------------------------------------- $this->plugin->remove_attachment_clean_up( $attachment ); } //----------------------------------------- // Remove from the DB //----------------------------------------- $this->ipsclass->DB->build_and_exec_query( array( 'delete' => 'attachments', 'where' => 'attach_rel_id IN ('.implode(",",$attach_rel_ids).") AND attach_rel_module='".$this->type."'" ) ); return TRUE; } else { return FALSE; } } /*-------------------------------------------------------------------------*/ // Remove uploaded file /*-------------------------------------------------------------------------*/ /** * Removes an attachment. */ function remove_attachment() { //----------------------------------------- // Got an ID? //----------------------------------------- if ( ! $this->attach_id ) { return FALSE; } //----------------------------------------- // Get DB row //----------------------------------------- $attachment = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*', 'from' => 'attachments', 'where' => 'attach_id='.$this->attach_id." AND attach_rel_module='".$this->type."'" ) ); if ( ! $attachment['attach_id'] ) { return FALSE; } //----------------------------------------- // Make sure we've got permission //----------------------------------------- if ( $this->plugin->return_remove_permission( $attachment ) === TRUE ) { //----------------------------------------- // Remove from the DB //----------------------------------------- $this->ipsclass->DB->build_and_exec_query( array( 'delete' => 'attachments', 'where' => 'attach_id='.$attachment['attach_id'] ) ); //----------------------------------------- // Remove from the filesystem //----------------------------------------- if ( $attachment['attach_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_location'] ); } if ( $attachment['attach_thumb_location'] ) { @unlink( $this->_upload_path."/".$attachment['attach_thumb_location'] ); } //----------------------------------------- // Allow the module to clean up any items //----------------------------------------- $this->plugin->remove_attachment_clean_up( $attachment ); return TRUE; } else { return FALSE; } } /*-------------------------------------------------------------------------*/ // Post Process upload /*-------------------------------------------------------------------------*/ /** * Converts post-key attachments into rel_id / rel_module attachments * by adding in the correct ID, etc */ function post_process_upload( $args=array() ) { if ( ! $this->attach_post_key or ! $this->attach_rel_id ) { return FALSE; } //----------------------------------------- // Got any to update? //----------------------------------------- $this->ipsclass->DB->do_update( 'attachments', array( 'attach_rel_id' => $this->attach_rel_id, 'attach_rel_module' => $this->type ), "attach_post_key='". $this->attach_post_key ."'" ); //----------------------------------------- // Update module specific? //----------------------------------------- return $this->plugin->post_process_upload( $this->attach_post_key, $this->attach_rel_id, $args ); } /*-------------------------------------------------------------------------*/ // Process upload /*-------------------------------------------------------------------------*/ /** * Uploads and saves file */ function process_upload() { //----------------------------------------- // INIT //----------------------------------------- $this->error = ''; $this->get_upload_form_settings(); //----------------------------------------- // Check upload dir //----------------------------------------- if ( ! $this->check_upload_dir() ) { if ( $this->error ) { return; } } //----------------------------------------- // Got attachment types? //----------------------------------------- if ( ! isset( $this->ipsclass->cache['attachtypes'] ) OR ! is_array( $this->ipsclass->cache['attachtypes'] ) ) { $this->ipsclass->cache['attachtypes'] = array(); $this->ipsclass->DB->simple_construct( array( 'select' => 'atype_extension,atype_mimetype,atype_post,atype_photo,atype_img', 'from' => 'attachments_type', 'where' => "atype_photo=1 OR atype_post=1" ) ); $this->ipsclass->DB->simple_exec(); while ( $r = $this->ipsclass->DB->fetch_row() ) { $this->ipsclass->cache['attachtypes'][ $r['atype_extension'] ] = $r; } } //----------------------------------------- // Can upload? //----------------------------------------- if ( ! $this->attach_stats['allow_uploads'] ) { $this->error = 'no_upload_permission'; return; } //----------------------------------------- // Set up array //----------------------------------------- $attach_data = array( 'attach_ext' => "", 'attach_file' => "", 'attach_location' => "", 'attach_thumb_location' => "", 'attach_hits' => 0, 'attach_date' => time(), 'attach_temp' => 0, 'attach_post_key' => $this->attach_post_key, 'attach_member_id' => $this->ipsclass->member['id'], 'attach_rel_id' => $this->attach_rel_id, 'attach_rel_module' => $this->type, 'attach_filesize' => 0, ); //----------------------------------------- // Load the library //----------------------------------------- require_once( KERNEL_PATH.'class_upload.php' ); $upload = new class_upload(); //----------------------------------------- // Set up the variables //----------------------------------------- $upload->out_file_name = $this->type.'-'.$this->ipsclass->member['id'].'-'.time(); $upload->out_file_dir = $this->upload_path; $upload->max_file_size = $this->attach_stats['max_single_upload'] ? $this->attach_stats['max_single_upload'] : 1000000000; $upload->make_script_safe = 1; $upload->force_data_ext = 'ipb'; //----------------------------------------- // Populate allowed extensions //----------------------------------------- if ( is_array( $this->ipsclass->cache['attachtypes'] ) and count( $this->ipsclass->cache['attachtypes'] ) ) { foreach( $this->ipsclass->cache['attachtypes'] as $idx => $data ) { $upload->allowed_file_ext[] = $data['atype_extension']; } } //----------------------------------------- // Upload... //----------------------------------------- $upload->upload_process(); //----------------------------------------- // Error? //----------------------------------------- if ( $upload->error_no ) { switch( $upload->error_no ) { case 1: // No upload $this->error = 'upload_no_file'; return $attach_data; break; case 2: // Invalid file ext $this->error = 'invalid_mime_type'; return $attach_data; break; case 3: // Too big... $this->error = 'upload_too_big'; return $attach_data; break; case 4: // Cannot move uploaded file $this->error = 'upload_failed'; return $attach_data; break; case 5: // Possible XSS attack (image isn't an image) $this->error = 'upload_failed'; return $attach_data; break; } } //----------------------------------------- // Still here? //----------------------------------------- if ( $upload->saved_upload_name and @file_exists( $upload->saved_upload_name ) ) { //----------------------------------------- // Strip off { } and [ ] //----------------------------------------- $upload->original_file_name = preg_replace( "#[\[\]\{\}]#", "", $upload->original_file_name ); $attach_data['attach_filesize'] = @filesize( $upload->saved_upload_name ); $attach_data['attach_location'] = $this->upload_dir . $upload->parsed_file_name; $attach_data['attach_file'] = $upload->original_file_name; $attach_data['attach_is_image'] = $upload->is_image; $attach_data['attach_ext'] = $upload->real_file_extension; if ( $attach_data['attach_is_image'] == 1 ) { require_once( KERNEL_PATH.'class_image.php' ); $image = new class_image(); $image->in_type = 'file'; $image->out_type = 'file'; $image->in_file_dir = $this->upload_path; $image->in_file_name = $upload->parsed_file_name; $image->desired_width = $this->settings['siu_width']; $image->desired_height = $this->settings['siu_height']; $image->gd_version = $this->ipsclass->vars['gd_version']; if ( $this->settings['siu_thumb'] ) { $thumb_data = $image->generate_thumbnail(); } if ( $thumb_data['thumb_location'] ) { $attach_data['attach_img_width'] = $thumb_data['original_width']; $attach_data['attach_img_height'] = $thumb_data['original_height']; $attach_data['attach_thumb_width'] = $thumb_data['thumb_width']; $attach_data['attach_thumb_height'] = $thumb_data['thumb_height']; $attach_data['attach_thumb_location'] = $this->upload_dir . $thumb_data['thumb_location']; } } //----------------------------------------- // Add into Database //----------------------------------------- $this->ipsclass->DB->do_insert( 'attachments', $attach_data ); $newid = $this->ipsclass->DB->get_insert_id(); return $newid; } } /*-------------------------------------------------------------------------*/ // Upload form stuff /*-------------------------------------------------------------------------*/ /** * Gets stuff required for the upload form */ function get_upload_form_settings() { //----------------------------------------- // Collect settings from the plug-in //----------------------------------------- $stats = $this->plugin->get_space_allowance( $this->attach_post_key ); //----------------------------------------- // Format and return... //----------------------------------------- $this->attach_stats['space_used'] = $stats['space_used']; $this->attach_stats['space_used_human'] = $this->ipsclass->size_format( $stats['space_used'] ); $this->attach_stats['total_space_allowed'] = $stats['total_space_allowed'] ? $stats['total_space_allowed'] : $stats['max_single_upload']; $this->attach_stats['max_single_upload'] = $stats['max_single_upload']; $this->attach_stats['max_single_upload_human'] = $this->attach_stats['max_single_upload'] ? $this->ipsclass->size_format( $stats['max_single_upload'] ) : $this->language[ 'unlimited' ]; $this->attach_stats['total_space_allowed_human'] = $this->attach_stats['total_space_allowed'] ? $this->ipsclass->size_format( $this->attach_stats['total_space_allowed'] ) : $this->language[ 'unlimited' ]; if ( $stats['space_allowed'] == 0 ) { //----------------------------------------- // Unlimited... //----------------------------------------- $this->attach_stats['allow_uploads'] = 1; $this->attach_stats['space_allowed'] = 'unlimited'; $this->attach_stats['space_allowed_human'] = $this->language[ 'unlimited' ]; $this->attach_stats['space_left'] = 'unlimited'; $this->attach_stats['space_left_human'] = $this->language[ 'unlimited' ]; $this->attach_stats['total_space_allowed_human'] = $this->language[ 'unlimited' ]; //$this->attach_stats['space_used_human'] = $this->language[ 'unlimited' ]; } else if ( $stats['space_allowed'] == -1 ) { //----------------------------------------- // None //----------------------------------------- $this->attach_stats['allow_uploads'] = 0; $this->attach_stats['space_allowed'] = 'not_allowed'; $this->attach_stats['space_allowed_human'] = $this->language[ 'not_allowed' ]; $this->attach_stats['space_left'] = 'not_allowed'; $this->attach_stats['space_left_human'] = $this->language[ 'not_allowed' ]; } else { //----------------------------------------- // Set figure //----------------------------------------- $this->attach_stats['allow_uploads'] = 1; $this->attach_stats['space_left'] = $stats['space_left']; $this->attach_stats['space_left_human'] = $this->ipsclass->size_format( $stats['space_left'] ); } } /*-------------------------------------------------------------------------*/ // Check uploads dir /*-------------------------------------------------------------------------*/ /** * Checks the upload dir * See above. It's not rocket science * * @return void */ function check_upload_dir() { //----------------------------------------- // Check dir exists... //----------------------------------------- if ( ! file_exists( $this->upload_path ) ) { if ( @mkdir( $this->upload_path, 0777 ) ) { @chmod( $this->upload_path, 0777 ); } else { $this->error = "no_upload_dir"; return false; } } else if ( ! is_writeable( $this->upload_path ) ) { $this->error = "no_upload_dir_perms"; return false; } //----------------------------------------- // Try and create a new monthly dir // eg: monthly_12_2005 //----------------------------------------- $this_month = "monthly_" . gmdate( "m_Y", time() ); //----------------------------------------- // Already a dir? //----------------------------------------- if ( $this->settings['allow_monthly_upload_dirs'] ) { $path = $this->upload_path . "/" . $this_month; if ( ! file_exists( $path ) ) { if ( @mkdir( $path, 0777 ) ) { @chmod( $path, 0777 ); # Set path and dir correct $this->upload_path .= "/" . $this_month; $this->upload_dir = $this_month."/"; } //----------------------------------------- // Was it really made or was it lying? //----------------------------------------- if ( ! file_exists( $path ) ) { $this->upload_path = $this->_upload_path; $this->upload_dir = '/'; } } else { # Set path and dir correct $this->upload_path .= "/" . $this_month; $this->upload_dir = $this_month."/"; } } return true; } /*-------------------------------------------------------------------------*/ // Load plug-in class /*-------------------------------------------------------------------------*/ /** * Loads child extends class. */ function load_plugin() { //----------------------------------------- // INIT //----------------------------------------- $this->type = $this->ipsclass->txt_alphanumerical_clean( $this->type ); //----------------------------------------- // Load... //----------------------------------------- $file = ROOT_PATH . 'sources/classes/attach/plugin_'.$this->type.'.php'; $class = 'plugin_'.$this->type; if ( ! is_object( $this->plugin ) ) { if ( file_exists( $file ) ) { require_once( $file ); $this->plugin = new $class; $this->plugin->ipsclass =& $this->ipsclass; $this->plugin->get_settings(); } else { print "Could not locate $file"; exit(); } } } /*-------------------------------------------------------------------------*/ // Parse thumbnail attachments inline /*-------------------------------------------------------------------------*/ /** * Swaps the HTML for the nice attachments. * * @param array Array of matches from preg_replace_callback * @return string HTML */ function _parse_thumbnail_inline( $matches ) { //----------------------------------------- // INIT //----------------------------------------- $row = $this->_current['row']; $skin_name = $this->_current['skin_name']; //----------------------------------------- // Generate random ID //----------------------------------------- $row['_attach_id'] = $row['attach_id'] . '-' . preg_replace( "#[\.\s]#", "-", microtime() ); //----------------------------------------- // Build HTML //----------------------------------------- $tmp = $this->ipsclass->compiled_templates[ $skin_name ]->Show_attachments_img_thumb( array( 't_location' => $row['attach_thumb_location'], 't_width' => $row['attach_thumb_width'], 't_height' => $row['attach_thumb_height'], 'o_width' => $row['attach_img_width'], 'o_height' => $row['attach_img_height'], 'attach_id' => $row['attach_id'], '_attach_id' => $row['_attach_id'], 'file_size' => $this->ipsclass->size_format( $row['attach_filesize'] ), 'attach_hits' => $row['attach_hits'], 'location' => $row['attach_file'], 'type' => $this->_current['type'], ) ); return $tmp; } } ?>
Но при всем при этом тему создает.....
что поправить?
Ссылка на комментарий
Поделиться на других сайтах
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.