HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/multiverso/shortcodes/manage-files.php
<?php 
/*
Manage Files
*/
?>

<?php if ( !is_user_logged_in() ) { echo '<div class="mv-file-managing">'; _e('You need to be logged to manage your files!', 'mvafsp'); echo '<div>'; }else{ // Check user logged ?>

<?php $page_id =  get_the_ID(); ?>

<?php 
 
// UPDATE File 
if (isset($_POST['subUpdate'])) {

	mv_update_frontend_post($_POST['fileID']);
	
}

// SAVE File 
if (isset($_POST['subSave'])) {

	mv_save_frontend_post($page_id);
	
}

// TRASH File
if (isset($_GET['mv_trash_file'])) {

	wp_trash_post($_GET['mv_trash_file']);
	
}
?>


<?php

global $current_user;
get_currentuserinfo();
$user = $current_user->user_login;

$query = new WP_Query( array(
    'post_type' => 'multiverso',
    'posts_per_page' => -1,
	'meta_key' => 'mv_user',
	'meta_value' => $user,
    'post_status' => array(
        'publish',
        'pending',
        'draft',
        'private',
        'trash'
    )
));

?>

<div class="mv-file-managing">

<?php

 // ADD FILE // 
$add_post = esc_url( add_query_arg( 'mv_add_file', true, get_permalink( $page_id ) ) );

echo '<div class="mv-addfile-wrap"><a href="'.$add_post.'">'.__('Add new File', 'mvafsp').'</a></div>';

if( isset($_GET['mv_add_file']) && $_GET['mv_add_file'] == 1 ) {
        
	mv_add_form($page_id);    
        
}


?>
<div class="mv-clear"></div>
<table class="mv-editfile">
 
    <tr class="mv-editfile-head">
        <th class="mv-editfile-title"><?php _e('Title', 'mvafsp'); ?></th>
        <th class="mv-editfile-folder"><?php _e('Category/Folder', 'mvafsp'); ?></th>
        <th class="mv-editfile-status"><?php _e('Status', 'mvafsp'); ?></th>
        <th class="mv-editfile-actions"><?php _e('Actions', 'mvafsp'); ?></th>  
    </tr>
 
    <?php
	if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
	$edit_post = esc_url( add_query_arg( 'mv_edit_file', get_the_ID(), get_permalink( $page_id ) ) );
	$trash_post = esc_url( add_query_arg( 'mv_trash_file', get_the_ID(), get_permalink( $page_id ) ) );
    ?>
        <tr>
            <td><?php echo get_the_title(); ?></td> 
            <td><?php mv_file_categories(get_the_ID(), 'multiverso-categories', 'multiverso', false, false); ?></td>
            <td class="mv-editfile-status <?php echo get_post_status( get_the_ID() ) ?>"><?php echo get_post_status( get_the_ID() ); ?></td>
            <td>
            
            <a href="<?php echo $edit_post; ?>" title="Edit"><i class="mvico-pencil"></i></a> 
            
            <?php if( !(get_post_status() == 'trash') ) { ?> 
 
   				<a onclick="return confirm('<?php _e('Are you sure you wish to trash the file: ', 'mvafsp'); echo get_the_title().'?'; ?>')"href="<?php echo $trash_post; ?>" title="Trash"><i class="mvico-remove2"></i></a>
  
			<?php } ?>
            
            </td>
        </tr>
        
        <?php if( isset($_GET['mv_edit_file']) && $_GET['mv_edit_file'] == get_the_ID() ) { ?>
        
        <tr>
            <td colspan="4"><?php mv_edit_form($_GET['mv_edit_file'], $page_id); ?></td> 
        </tr>
        
        <?php } ?>
 
<?php endwhile; endif; wp_reset_postdata(); ?>
 
</table>


<?php } // End if user logged ?>





<?php 

// EDIT FORM //

function mv_edit_form($file_id, $page_id) {
	
// Setup Data
$file_data = get_post($file_id);

// Lock the file to prevent simultaneous editing
mv_set_file_lock($file_id);

?>

<h3 class="mv-editfile-title"><?php _e('Edit File', 'mvafsp'); ?><span><a href="<?php echo get_permalink($page_id); ?>" class="mv-edit-close"><i class="mvico-close"></i></a></span></h3>

<form action="" id="updateFile" method="POST" enctype="multipart/form-data" autocomplete="off">
 
    <fieldset>
 
        <input type="text" name="fileTitle" id="fileTitle" value="<?php echo $file_data->post_title; ?>" placeholder="<?php _e( 'Title', 'mvafsp' ); ?>">
 
        <textarea name="fileContent" id="fileContent" rows="8" cols="30" placeholder="<?php _e( 'Description', 'mvafsp' ); ?>"><?php echo $file_data->post_content; ?></textarea>
 
    </fieldset>
 
 
    <fieldset class="mv-basicfields"> 
 
    	<label for="mvCategory"><?php _e('Category', 'mvafsp'); ?></label>
        
        <?php
		
        $saved_cats = get_the_terms( $file_data->ID, 'multiverso-categories' );
	
		foreach ( $saved_cats as $c ) {
			$saved_cat = $c->term_id;
			break;
		}
		
		$args = array(
			'hide_empty'         => 0, 
			'echo'               => 1,
			'selected'           => 0,
			'hierarchical'       => 1, 
			'orderby'            => 'name',
			'name'               => 'mvCategory',
			'id'                 => 'mvCategory',
			'class'              => '',
			'depth'              => 10,
			'tab_index'          => 1,
			'taxonomy'           => 'multiverso-categories',
			'hide_if_empty'      => false,
			'selected'           => $saved_cat,
		);

		wp_dropdown_categories($args);
		
		?>
        
  		<div class="mv-clear"></div>
        
    	<label for="mvStatus"><?php _e('Status', 'mvafsp'); ?></label>
    	<select name="mvStatus" id="mvStatus">
			<option value="publish" <?php if($file_data->post_status == 'publish' ){ echo 'selected="selected"'; } ?>><?php _e('Published', 'mvafsp'); ?></option>
        	<option value="pending" <?php if($file_data->post_status == 'pending' ){ echo 'selected="selected"'; } ?>><?php _e('Pending Review', 'mvafsp'); ?></option>
        	<option value="draft" <?php if($file_data->post_status == 'draft' ){ echo 'selected="selected"'; } ?>><?php _e('Draft', 'mvafsp'); ?></option>
            <option value="trash" <?php if($file_data->post_status == 'trash' ){ echo 'selected="selected"'; } ?>><?php _e('Trashed', 'mvafsp'); ?></option>
        </select>
        <div class="mv-clear"></div>
        
    </fieldset>
    
    <fieldset class="mv-advancedfields">
    
    <?php mv_meta_frontend_file_update($file_id); ?> 
    
    </fieldset>
    
    <fieldset class="mv-submitfields">
         
        <?php wp_nonce_field( 'post_nonce', 'mvfile_nonce' ); ?>
 		
        <input type="hidden" name="fileID" id="fileID" value="<?php echo $file_data->ID; ?>">
        <input type="hidden" name="subUpdate" id="subUpdate" value="true" />
        <button type="submit"><?php _e( 'Update', 'mvafsp'); ?></button> 
 
    </fieldset>
 
</form>

<?php } // End Edit Form ?>



<?php 

// ADD FORM //

function mv_add_form($page_id) {
	
?>

<h3 class="mv-addfile-title"><?php _e('Add new File', 'mvafsp'); ?><span><a href="<?php echo get_permalink($page_id); ?>" title="Close"><i class="mvico-close"></i></a> </span></h3>
<div class="mv-addfile-form">

<form action="<?php echo get_permalink( $page_id ); ?>" id="addFile" method="POST" enctype="multipart/form-data" autocomplete="off">
 
    <fieldset>
 
        <input type="text" name="fileTitle" id="fileTitle" value="" placeholder="<?php _e( 'Title', 'mvafsp' ); ?>" >
 
    </fieldset>
 
 
    <fieldset>
 
        <textarea name="fileContent" id="fileContent" rows="8" cols="30" placeholder="<?php _e( 'Description', 'mvafsp' ); ?>"></textarea>
 
    </fieldset> 
    
    <fieldset class="mv-basicfields">
    
    	<label for="mvCategory"><?php _e( 'Category', 'mvafsp' ); ?></label>
        
        <?php
        
		$args = array(
			'hide_empty'         => 0, 
			'echo'               => 1,
			'selected'           => 0,
			'hierarchical'       => 1, 
			'orderby'            => 'name',
			'name'               => 'mvCategory',
			'id'                 => 'mvCategory',
			'class'              => '',
			'depth'              => 10,
			'tab_index'          => 1,
			'taxonomy'           => 'multiverso-categories',
			'hide_if_empty'      => false,
		);

		wp_dropdown_categories($args);
		
		?>

    	<div class="mv-clear"></div>
   
    
    	<label for="mvStatus"><?php _e( 'Status', 'mvafsp' ); ?></label>
    	<select name="mvStatus" id="mvStatus">
			<option value="publish" selected="selected"><?php _e( 'Published', 'mvafsp' ); ?></option>
        	<option value="pending"><?php _e( 'Pending Review', 'mvafsp' ); ?></option>
        	<option value="draft"><?php _e( 'Draft', 'mvafsp' ); ?></option>
            <option value="trash"><?php _e( 'Trashed', 'mvafsp' ); ?></option>
        </select>
        <div class="mv-clear"></div>
    </fieldset>
    
    <fieldset class="mv-advancedfields">
    
    <?php mv_meta_frontend_file_add(); ?> 
    
    </fieldset>
    
    <fieldset class="mv-submitfields">
         
        <?php wp_nonce_field( 'post_nonce', 'mvfile_nonce' ); ?>

        <input type="hidden" name="subSave" id="subSave" value="true" />
        <button type="submit"><?php _e( 'Save', 'mvafsp'); ?></button> 
        
 
    </fieldset>
 
</form>
</div>

<?php } // End Add Form ?>

</div>

<?php 


function mv_set_file_lock( $post_id ) {
	if ( !$post = get_post( $post_id ) )
		return false;
	if ( 0 == ($user_id = get_current_user_id()) )
		return false;

	$now = time();
	$lock = "$now:$user_id";

	update_post_meta( $post->ID, '_edit_lock', $lock );
	return array( $now, $user_id );
}