• Is there any way to customise the email received by users when file has been uploaded?

    I’ve asked this question on the developer’s site (I paid for the pro version) but have not heard from him for 11 days despite 3 reminders – very poor customer support.

    So I’m here in the hope someone else can help.

    John

    https://www.ads-software.com/plugins/wp-filebase/

Viewing 8 replies - 1 through 8 (of 8 total)
  • I need this info too ??

    Hi Gusy just customize the plugin

    open plugin folder find the file name inside classes folder AdminGuiFiles.php add mail function after this line $message = $update?__('File updated.', WPFB):__('File added.', WPFB);
    like

    <?php
    $to      = '[email protected]';
    $subject = 'the subject';
    $message = 'hello';
    $headers = 'From: [email protected]' . "\r\n" .
        'Reply-To: [email protected]' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
    
    mail($to, $subject, $message, $headers);
    ?>

    Hi chandru998, thanks for helping me.
    I added your code as shown here, but it doesn’t work. Did I added the code in the right place (before the closing bracket)?

    thanks again

    Hi Niguli Here my code. I customise the code for all subscribers. Copy past and change ur mail id.

    Thanks,
    Chandru Ram

    <?php
    class WPFB_AdminGuiFiles {
    static $FilesPerPage = 50;
    
    static function Display()
    {
    	global $wpdb, $user_ID;
    
    	wpfb_loadclass('File', 'Category', 'Admin', 'Output');
    
    	$_POST = stripslashes_deep($_POST);
    	$_GET = stripslashes_deep($_GET);
    
    	$action = !empty($_REQUEST['action']) ? $_REQUEST['action'] : '';
    	$clean_uri = remove_query_arg(array('message', 'action', 'file_id', 'cat_id', 'deltpl', 'hash_sync' /* , 's'*/)); // keep search keyword
    
    	// nonce/referer check (security)
    	if($action == 'updatefile' || $action == 'addfile') {
    		$nonce_action = WPFB."-".$action;
    		if($action == 'updatefile') $nonce_action .= $_POST['file_id'];
    		if(!wp_verify_nonce($_POST['wpfb-file-nonce'],$nonce_action) || !check_admin_referer($nonce_action,'wpfb-file-nonce'))
    			wp_die(__('Cheatin’ uh?'));
    	}
    
    	// switch simple/extended form
    	if(isset($_GET['exform'])) {
    		$exform = (!empty($_GET['exform']) && $_GET['exform'] == 1);
    		update_user_option($user_ID, WPFB_OPT_NAME . '_exform', $exform);
    	} else
    		$exform = (bool)get_user_option(WPFB_OPT_NAME . '_exform');
    
    	if(!empty($_REQUEST['redirect']) && !empty($_REQUEST['redirect_to'])) WPFB_AdminLite::JsRedirect($_REQUEST['redirect_to']);
    
    	?>
    	<div class="wrap">
    	<?php
    
    	switch($action)
    	{
    		case 'editfile':
    			if(!current_user_can('upload_files')) wp_die(__('Cheatin’ uh?'));
    
    			if(!empty($_POST['files'])) {
    				if(!is_array($_POST['files'])) $_POST['files'] = explode(',',$_POST['files']);
    				$files = array();
    				foreach($_POST['files'] as $file_id) {
    					$file = WPFB_File::GetFile($file_id);
    					if(!is_null($file) && $file->CurUserCanEdit()) $files[] = $file;
    				}
    				if(count($files) > 0)
    					WPFB_Admin::PrintForm('file', $files, array('multi_edit' => true));
    				else
    					wp_die('No files to edit.');
    			} else {
    				$file = WPFB_File::GetFile($_GET['file_id']);
    				if(is_null($file) || !$file->CurUserCanEdit())
    					wp_die(__('You do not have the permission to edit this file!',WPFB));
    				WPFB_Admin::PrintForm('file', $file);
    			}
    			break;
    
    		case 'updatefile':
    			$file_id = (int)$_POST['file_id'];
    			$update = true;
    			$file = WPFB_File::GetFile($file_id);
    			if(is_null($file) || !$file->CurUserCanEdit())
    				wp_die(__('Cheatin’ uh?'));
    
    		case 'addfile':
    			$update = !empty($update);
    
    			if ( !WPFB_Admin::CurUserCanUpload() )
    				wp_die(__('Cheatin’ uh?'));
    
    			extract($_POST);
    			if(isset($jj) && isset($ss))
    			{
    				$jj = ($jj > 31 ) ? 31 : $jj;
    				$hh = ($hh > 23 ) ? $hh -24 : $hh;
    				$mn = ($mn > 59 ) ? $mn -60 : $mn;
    				$ss = ($ss > 59 ) ? $ss -60 : $ss;
    				$_POST['file_date'] =  sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $aa, $mm, $jj, $hh, $mn, $ss );
    			}
    
    			$result = WPFB_Admin::InsertFile(array_merge($_POST, $_FILES), true);
    			if(isset($result['error']) && $result['error']) {
    				$message = $result['error'] . '<br /><a href="javascript:history.back()">' . __("Go back") . '</a>';
    			} else {
    				$message = $update?__('File updated.', WPFB):__('File added.', WPFB);
    
    		// Mail send Function start	
    
    		$blogusers = get_users( 'blog_id=1&orderby=nicename&role=subscriber' );
    
    		// Array of WP_User objects.
    		foreach ( $blogusers as $user ) {
    
    			$emails      = $emails.esc_html( $user->user_email ).',';
    
    		}
    		$to = '[email protected]';
    
    		$blogname= get_option( "blogname");
    
    		$homeurl=home_url();
    
    		$subject = 'File ' . $filename . ' uploaded';
    
    		$user_info = get_userdata(1);
    		$username= $user_info->user_login ;
    
    		$adminemail=get_option( "admin_email" );
    
    		$message = '<html><body>';
    		$message .= '<table cellpadding="0">';
    		$message .= "<tr><td><strong>" . $blogname . " has Added a new File ".$title."</strong><br><br></td></tr>";
    		$message .= "<tr><td>You may view All the File at<br>" . $homeurl . "/file/<br><br></td></tr>";
    		$message .= '<tr><td>Best regards,<br></td></tr>';
    		$message .= "<tr><td>" . $username . "<br></td></tr>";
    		$message .= "<tr><td>" . $adminemail . "<br></td></tr>";
    		$message .= '</table>';
    		$message .= '</body></html>';
    
    		$headers .= "MIME-Version: 1.0\r\n";
    		$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    		$headers .= 'From: [email protected]' . "\r\n" .
    				  'Bcc: '.$emails . "\r\n" .
    				  'Reply-To: [email protected]' . "\r\n";
    
    		mail($to, $subject, $message, $headers);
    
    		// Mail send Function end
    	}
    
    		default:
    			if(!current_user_can('upload_files'))
    				wp_die(__('Cheatin’ uh?'));
    
    			if(!empty($_POST['deleteit'])) {
    				foreach ( (array)$_POST['delete'] as $file_id ) {
    					if(is_object($file = WPFB_File::GetFile($file_id))  && $file->CurUserCanEdit())
    						$file->Remove(true);
    				}
    				WPFB_File::UpdateTags();
    			}
    ?>
    	<h2><?php
    	echo str_replace(array('(<','>)'),array('<','>'), sprintf(__('Manage Files (<a href="%s">add new</a>)', WPFB), '#addfile" class="add-new-h2'));
    	echo '<a href="'.admin_url('admin.php?page=wpfilebase_manage&action=batch-upload').'" class="add-new-h2">'.__('Batch Upload',WPFB).'</a>';
    
    	if ( isset($_GET['s']) && $_GET['s'] )
    		printf( '<span class="subtitle">' . __('Search results for “%s”'/*def*/) . '</span>', esc_html(stripslashes($_GET['s'])));
    	?></h2>
    	<?php if ( !empty($message) ) : ?><div id="message" class="updated fade"><p><?php echo $message; ?></p></div><?php endif;
    	if(WPFB_Admin::CurUserCanUpload() && ($action == 'addfile' || $action == 'updatefile'))
    	{
    		unset($file);
    		WPFB_Admin::PrintForm('file', null, array('exform' => $exform, 'item' => new WPFB_File((isset($result['error']) && $result['error']) ? $_POST : null)));
    	}
    	wpfb_loadclass('FileListTable');
    $file_table = new WPFB_FileListTable();
    $file_table->prepare_items();
    
    ?>
    
    <form class="search-form topmargin" action="" method="get">
    	<input type="hidden" value="<?php echo esc_attr($_GET['page']); ?>" name="page" />
    	<input type="hidden" value="<?php echo empty($_GET['view']) ? '' : esc_attr(@$_GET['view']); ?>" name="view" />
    <?php $file_table->search_box( __("Search Files",WPFB), 's' ); ?>
    </form>	
    
    <?php $file_table->views(); ?>
     <form id="posts-filter" action="" method="post">
     <input type="hidden" name="page" value="<?php echo $_REQUEST['page'] ?>" />
     <?php $file_table->display() ?>
     </form>
     <br class="clear" />
    
    <?php
    
    	if($action != 'addfile' && $action != 'updatefile' && WPFB_Admin::CurUserCanUpload())
    	{
    		unset($file);
    		WPFB_Admin::PrintForm('file', null, array('exform' => $exform));
    	}
    	break; // default
    	}
    
    	/*
    
    	$file_list_table = new WPFB_File_List_Table();
    	$pagenum = $file_list_table->get_pagenum();
    	$doaction = $file_list_table->current_action();
    
    	$file_list_table->prepare_items();
    
    	$file_list_table->views();
    	$file_list_table->search_box( "asdf", 'post' );
    
    	$file_list_table->display();
    
    	*/
    	?>
    
    </div> <!-- wrap -->
    <?php
    }
    
    static function PrintFileInfo($info, $path='file_info')
    {
    	foreach($info as $key => $val)
    	{
    		$p = $path.'/'.$key;
    		if(is_array($val) && count($val) == 1 && isset($val[0])) // if its a single array, just take the first element
    			$val = $val[0];
    		echo '<b>',esc_html($p),"</b> = ",esc_html($val),"\n";
    		if(is_array($val) || is_object($val))
    		{
    			self::PrintFileInfo($val, $p);
    		}
    	}
    }
    
    static function FileInfoPathsBox($info)
    {
    	?><p><?php printf(__('The following tags can be used in templates. For example, if you want to display the Artist of a MP3 File, put %s inside the template code.', WPFB), '<code>%file_info/tags/id3v2/artist%</code>'); ?></p>
    	<pre>
    	<?php self::PrintFileInfo(empty($info->value) ? $info : $info->value); ?>
    	</pre>
    	<?php
    	if(!empty($info->keywords)) {
    		?><p><b><?php _e('Keywords used for search:',WPFB) ?></b> <?php echo esc_html($info->keywords) ?></p> <?php
    	}
    }
    }
    
    /*
    class WPFB_File_List_Table extends WP_List_Table {
    	static $FilesPerPage = 50;
    
    	function __construct() {
    		$this->detached = isset( $_REQUEST['detached'] ) || isset( $_REQUEST['find_detached'] );
    		$this->offline = isset( $_REQUEST['offline'] ) || isset( $_REQUEST['find_offline'] );
    
    		$this->file_category = empty($_GET['file_category']) ? 0 : intval($_GET['file_category']);
    
    		parent::__construct( array(
    			'plural' => 'media'
    		) );
    	}
    
    	function ajax_user_can() {
    		return current_user_can('upload_files');
    	}
    
    	function prepare_items() {
    
    		$where = WPFB_Search::SearchWhereSql(true);
    		if($this->file_category > 0)
    			$where = (empty($where) ? '' : ("($where) AND ")) . "file_category = $this->file_category";
    
    		$this->where = $where;
    
    		$per_page = self::$FilesPerPage;
    		$this->num_total_files = $num_total_files = WPFB_File::GetNumFiles2($where, false);
    		$total_pages = ceil( $num_total_files / $per_page );
    
    		$this->set_pagination_args( array(
    			'total_items' => $num_total_files,
    			'total_pages' => $total_pages,
    			'per_page' => $per_page,
    		) );
    	}
    
    	function get_views() {
    		global $wpdb, $post_mime_types, $avail_post_mime_types;
    
    		$type_links = array();
    /*		$_num_posts = (array) wp_count_attachments();
    		$_total_posts = array_sum($_num_posts) - $_num_posts['trash'];
    		if ( !isset( $total_orphans ) )
    				$total_orphans = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent < 1" );
    		$matches = wp_match_mime_types(array_keys($post_mime_types), array_keys($_num_posts));
    		foreach ( $matches as $type => $reals )
    			foreach ( $reals as $real )
    				$num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real];
    
    		$class = ( empty($_GET['post_mime_type']) && !$this->detached && !isset($_GET['status']) ) ? ' class="current"' : '';
    		$type_links['all'] = "<a href='upload.php'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . '</a>';
    		foreach ( $post_mime_types as $mime_type => $label ) {
    			$class = '';
    
    			if ( !wp_match_mime_types($mime_type, $avail_post_mime_types) )
    				continue;
    
    			if ( !empty($_GET['post_mime_type']) && wp_match_mime_types($mime_type, $_GET['post_mime_type']) )
    				$class = ' class="current"';
    			if ( !empty( $num_posts[$mime_type] ) )
    				$type_links[$mime_type] = "<a href='upload.php?post_mime_type=$mime_type'$class>" . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</a>';
    		}
    		$type_links['detached'] = '<a href="upload.php?detached=1"' . ( $this->detached ? ' class="current"' : '' ) . '>' . sprintf( _nx( 'Unattached <span class="count">(%s)</span>', 'Unattached <span class="count">(%s)</span>', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</a>';
    
    		if ( !empty($_num_posts['trash']) )
    			$type_links['trash'] = '<a href="upload.php?status=trash"' . ( (isset($_GET['status']) && $_GET['status'] == 'trash' ) ? ' class="current"' : '') . '>' . sprintf( _nx( 'Trash <span class="count">(%s)</span>', 'Trash <span class="count">(%s)</span>', $_num_posts['trash'], 'uploaded files' ), number_format_i18n( $_num_posts['trash'] ) ) . '</a>';
    * /
    
    		$type_links['remote'] = 'remote';
    		$type_links['offline'] = 'off';
    		$type_links['detached'] = 'det';
    		$type_links['public'] = 'pub';
    
    		return $type_links;
    	}
    
    	function get_bulk_actions() {
    		$actions = array();
    		$actions['delete'] = __( 'Delete Permanently' );
    		$actions['edit'] = __( 'Edit' );
    		if ( $this->detached )
    			$actions['attach'] = __( 'Attach to a post' );
    
    		return $actions;
    	}
    
    	function extra_tablenav( $which ) {
    ?>
    		<div class="alignleft actions">
    <?php
    		if ( $this->offline )
    			submit_button( __( 'Set online' ), 'secondary', 'set_online', false );
    		?>
    		</div>
    <?php
    	}
    
    	function current_action() {
    		if ( isset( $_REQUEST['find_detached'] ) )
    			return 'find_detached';
    
    		if ( isset( $_REQUEST['found_post_id'] ) && isset( $_REQUEST['media'] ) )
    			return 'attach';
    
    		if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
    			return 'delete_all';
    
    		return parent::current_action();
    	}
    
    	function has_items() {
    		if(!isset($this->num_total_files))
    			$this->prepare_items();
    		return ($this->num_total_files > 0);
    	}
    
    	function no_items() {
    		_e( 'No media attachments found.' );
    	}
    
    	function get_columns() {
    		$posts_columns = array();
    
    		$posts_columns['cb'] = '<input type="checkbox" />';
    		$posts_columns['id'] = 'ID';
    		$posts_columns['title'] = __('Name');
    		$posts_columns['file'] = __('Filename', WPFB);
    		$posts_columns['size'] = __('Size'/*def* /);
    		$posts_columns['desc'] = __('Description'/*def* /);
    		$posts_columns['cat'] = __('Category'/*def* /);
    		$posts_columns['perm'] = __('Access Permission',WPFB);
    		$posts_columns['uploader'] = __('Owner',WPFB);
    		$posts_columns['hits'] = __('Hits', WPFB);
    		$posts_columns['lastdl'] = __('Last download', WPFB);
    
    		return $posts_columns;
    	}
    
    	function get_sortable_columns() {
    		return array(
    			//'id'		=> 'file_id',
    			'title'    	=> 'file_display_name',
    			//'file'   	=> 'file_name',
    			'size'   	=> 'file_size',
    			//'desc'   	=> 'file_description',
    			'cat'   	=> 'file_category_name',
    			'perm'   	=> 'file_user_roles',
    			//'uploader'  => 'file_added_by',
    			//'hits'   	=> 'file_hits',
    			'lastdl'   	=> 'file_last_dl_time'
    		);
    	}
    
    	function display_rows() {
    		global $wpdb;
    		wpfb_loadclass('Search');
    
    		list( $columns, $hidden, $sortable ) = $this->get_column_info();
    		$columns = array_merge($columns, $sortable);
    
    		$where = $this->where;
    		$per_page = self::$FilesPerPage;
    		$pagestart = ($this->get_pagenum() - 1 + 1) * $per_page; // TODO
    		$order = "$wpdb->wpfilebase_files." . ((!empty($_GET['order']) && in_array($_GET['order'], array_keys(get_class_vars('WPFB_File')))) ?
    			($_GET['order']." ".(!empty($_GET['desc']) ? "DESC" : "ASC")) : "file_id DESC");
    
    		$files = WPFB_File::GetFiles2($where, true, $order, $per_page, $pagestart);
    		if(empty($files) && !empty($wpdb->last_error))
    			wp_die("<b>Database error</b>: ".$wpdb->last_error);
    		foreach($files as $file_id => $file)
    		{
    ?>
    	<tr id='file-<?php echo $file_id ?>'<?php if($file->file_offline) { echo " class='offline'"; } ?>>
    <?php
    
    foreach ( $columns as $column_name => $column_display_name ) {
    	$class = "class='$column_name column-$column_name'";
    
    	$style = '';
    	if ( in_array( $column_name, $hidden ) )
    		$style = ' style="display:none;"';
    
    	$attributes = $class . $style;
    
    	switch ( $column_name ) {
    	case 'cb': ?> <th scope="row" class="check-column"><input type='checkbox' name='files[]' value='<?php echo $file_id ?>' /></th> <?php break;
    	case 'id':  echo "<td class='num'>$file_id</td>"; break;	
    
    	case 'title': ?>
    	<td class="wpfilebase-admin-list-row-title">
    		<a class="row-title" href="<?php echo $file->GetEditUrl() ?>" title="<?php printf(__("Edit “%s”"), esc_attr($file->file_display_name)); ?>">
    			<?php if(!empty($file->file_thumbnail)) { ?><img src="<?php echo $file->GetIconUrl(); ?>" height="32" /><?php } ?>
    			<span><?php if($file->IsRemote()){echo '*';} echo esc_html($file->file_display_name); ?></span>
    		</a>
    	</td>
    	<?php
    		break;
    
    	case 'file': ?> <td><a href="<?php echo $file->GetUrl() ?>"><?php echo esc_html($file->file_name); ?></a></td> <?php break;
    
    	case 'size': ?> <td><?php echo WPFB_Output::FormatFilesize($file->file_size); ?></td> <?php break;
    
    	case 'desc': ?> <td><?php echo empty($file->file_description) ? '-' : esc_html($file->file_description); ?></td> <?php break;
    	case 'cat': ?> <td><?php echo (!is_null($cat)) ? ('<a href="'.$cat->GetEditUrl().'">'.esc_html($file->file_category_name).'</a>') : '-'; ?></td> <?php break;
    	case 'perm': ?> <td><?php echo WPFB_Output::RoleNames($user_roles,true) ?></td> <?php break;
    	case 'uploader': ?> <td><?php echo (empty($file->file_added_by) || !($usr = get_userdata($file->file_added_by))) ? '-' : esc_html($usr->user_login) ?></td> <?php break;
    	case 'hits': ?> <td class='num'><?php echo $file->file_hits; ?></td> <?php break;
    	case 'lastdl': ?> <td><?php echo ( (!empty($file->file_last_dl_time) && $file->file_last_dl_time > 0) ? mysql2date(get_option('date_format'), $file->file_last_dl_time) : '-') ?></td> <?php break;
    	//<!-- TODO <td class='num'><?php echo $rating </td> -->
    
    	default:
    ?>
    		<td <?php echo $attributes ?>>
    			<?php do_action( 'manage_media_custom_column', $column_name, $id ); ?>
    		</td>
    <?php
    		break;
    	}
    }
    ?>
    	</tr>
    <?php } // foreach file
    	}
    }
    */

    is this the code replacing the one in AdminGuiFiles.php ? thanks

    Ya Niguli.

    Thanks,
    Chandru Ram

    it does not work for me. I did not received any email notification for the new file uploaded ??

    Hi Naguli give FTP access to me I will fix the issue. [email protected].

    Thanks,
    Ram

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘Upload Notification Email’ is closed to new replies.