185 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| // Get selected filter type
 | |
| 
 | |
| 
 | |
| if( isset( $_GET['filter'] ) ) {
 | |
| 
 | |
| 
 | |
| 	$filter = sanitize_key( $_GET['filter'] );
 | |
| 
 | |
| 
 | |
| } else {
 | |
| 
 | |
| 
 | |
| 	$filter = 'plugins';
 | |
| 
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| // Select correct database row
 | |
| 
 | |
| 
 | |
| switch ( $filter ) {
 | |
| 
 | |
| 
 | |
| 	case 'themes':
 | |
| 
 | |
| 
 | |
| 		$db_table 		= 'notUpdateListTh';
 | |
| 
 | |
| 
 | |
| 		$filter_name 	= __( 'Themes', 'companion-auto-update' );
 | |
| 
 | |
| 
 | |
| 		$filterFunction = wp_get_themes();
 | |
| 
 | |
| 
 | |
| 		break;
 | |
| 
 | |
| 
 | |
| 	case 'plugins':
 | |
| 
 | |
| 
 | |
| 		$db_table 		= 'notUpdateList';
 | |
| 
 | |
| 
 | |
| 		$filter_name 	= __( 'Plugins', 'companion-auto-update' );
 | |
| 
 | |
| 
 | |
| 		$filterFunction = get_plugins();
 | |
| 
 | |
| 
 | |
| 		break;
 | |
| 
 | |
| 
 | |
| 	default:
 | |
| 
 | |
| 
 | |
| 		$db_table 		= 'notUpdateList';
 | |
| 
 | |
| 
 | |
| 		$filter_name 	= __( 'Plugins', 'companion-auto-update' );
 | |
| 
 | |
| 
 | |
| 		$filterFunction = get_plugins();
 | |
| 
 | |
| 
 | |
| 		break;
 | |
| 
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ?>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| <ul class="subsubsub">
 | |
| 
 | |
| 
 | |
| 	<li><a <?php if( $filter == 'plugins' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'pluginlist&filter=plugins' ); ?>'><?php _e( 'Plugins', 'companion-auto-update' ); ?></a></li> |
 | |
| 
 | |
| 
 | |
| 	<li><a <?php if( $filter == 'themes' ) { echo "class='current'"; } ?> href='<?php echo cau_url( 'pluginlist&filter=themes' ); ?>'><?php _e( 'Themes', 'companion-auto-update' ); ?></a></li>
 | |
| 
 | |
| 
 | |
| </ul>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| <div style='clear: both;'></div>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| <?php if( $filter == 'themes' ) { ?>
 | |
| 
 | |
| 
 | |
| 	<div id="message" class="cau">
 | |
| 
 | |
| 
 | |
| 		We've had to (temporarily) disable the theme filter because it was causing issues on some installations. We'll try to get it working again in a future update.
 | |
| 
 | |
| 
 | |
| 	</div>
 | |
| 
 | |
| 
 | |
| <?php } ?>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| <p><?php echo sprintf( esc_html__( 'Prevent certain %s from updating automatically. %s that you select here will be skipped by Companion Auto Update and will require manual updating.', 'companion-auto-update' ), strtolower( $filter_name ), $filter_name ); ?></p>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| <?php 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| global $wpdb;
 | |
| 
 | |
| 
 | |
| $table_name = $wpdb->prefix."auto_updates"; 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| // Save list
 | |
| 
 | |
| 
 | |
| if( isset( $_POST['submit'] ) ) {
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	check_admin_referer( 'cau_save_pluginlist' );
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	$noUpdateList 	= '';
 | |
| 
 | |
| 
 | |
| 	$i 				= 0;
 | |
| 
 | |
| 
 | |
| 	$noUpdateCount 	= 0;
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	if( isset( $_POST['post'] ) ) {
 | |
| 
 | |
| 
 | |
| 		$noUpdateCount 	= count( $_POST['post'] );
 | |
| 
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	if( $noUpdateCount > 0 ) {
 | |
| 
 | |
| 
 | |
| 		foreach ( $_POST['post'] as $key ) {
 | |
| 
 | |
| 
 | |
| 			$noUpdateList .= sanitize_text_field( $key );
 | |
| 
 | |
| 
 | |
| 			$i++;
 | |
| 
 | |
| 
 | |
| 			if( $i != $noUpdateCount ) $noUpdateList .= ', ';
 | |
| 
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = '%s' WHERE name = '%s'", $noUpdateList, $db_table ) );
 | |
| 
 | |
| 
 | |
| 	echo '<div id="message" class="updated"><p><b>'.__( 'Succes', 'companion-auto-update' ).' –</b> '.sprintf( esc_html__( '%1$s %2$s have been added to the no-update-list', 'companion-auto-update' ), $noUpdateCount, strtolower( $filter_name ) ).'.</p></div>';
 | |
| 
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| // Reset list
 | |
| 
 | |
| 
 | |
| if( isset( $_POST['reset'] ) ) {
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	check_admin_referer( 'cau_save_pluginlist' );
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	$wpdb->query( $wpdb->prepare( "UPDATE $table_name SET onoroff = '%s' WHERE name = %s", "", $db_table ) );
 | |
| 
 | |
| 
 | |
| 	echo '<div id="message" class="updated"><p><b>'.__( 'Succes', 'companion-auto-update' ).' –</b> '.sprintf( esc_html__( 'The no-update-list has been reset, all %s will be auto-updated from now on', 'companion-auto-update' ), strtolower( $filter_name ) ).'.</p></div>';
 | |
| 
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ?>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| <form method="POST">
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	<div class='pluginListButtons'>
 | |
| 
 | |
| 
 | |
| 		<?php submit_button(); ?>
 | |
| 
 | |
| 
 | |
| 		<input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
 | |
| 
 | |
| 
 | |
| 	</div>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	<table class="wp-list-table widefat autoupdate striped">
 | |
| 
 | |
| 
 | |
| 		<thead>
 | |
| 
 | |
| 
 | |
| 			<tr>
 | |
| 
 | |
| 
 | |
| 				<td> </td>
 | |
| 
 | |
| 
 | |
| 				<th class="head-plugin"><strong><?php _e( 'Name', 'companion-auto-update' ); ?></strong></th>
 | |
| 
 | |
| 
 | |
| 				<th class="head-status"><strong><?php _e( 'Status', 'companion-auto-update' ); ?></strong></th>
 | |
| 
 | |
| 
 | |
| 				<th class="head-description"><strong><?php _e( 'Description' ); ?></strong></th>
 | |
| 
 | |
| 
 | |
| 			</tr>
 | |
| 
 | |
| 
 | |
| 		</thead>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 		<tbody id="the-list">
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 		<?php 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 		foreach ( $filterFunction as $key => $value ) {
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			$slug 			= $key;
 | |
| 
 | |
| 
 | |
| 			$explosion 		= explode( '/', $slug );
 | |
| 
 | |
| 
 | |
| 			$actualSlug 	= array_shift( $explosion );
 | |
| 
 | |
| 
 | |
| 			$slug_hash 		= md5( $slug[0] );
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			if( $filter == 'themes' ) {
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				$theme 			= wp_get_theme( $actualSlug );
 | |
| 
 | |
| 
 | |
| 				$name 			= $theme->get( 'Name' );
 | |
| 
 | |
| 
 | |
| 				$description 	= $theme->get( 'Description' );
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			} else {
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				foreach ( $value as $k => $v ) {
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 					if( $k == "Name" ) $name = $v;
 | |
| 
 | |
| 
 | |
| 					if( $k == "Description" ) $description = $v;
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				}
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			}
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			if( in_array( $actualSlug, donotupdatelist( $filter ) ) ) {
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				$class 		= 'inactive';
 | |
| 
 | |
| 
 | |
| 				$checked 	= 'CHECKED';
 | |
| 
 | |
| 
 | |
| 				$statusicon = 'no';
 | |
| 
 | |
| 
 | |
| 				$statusName = 'disabled';
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			} else {
 | |
| 
 | |
| 
 | |
| 				
 | |
| 
 | |
| 
 | |
| 				$class 		= 'active';
 | |
| 
 | |
| 
 | |
| 				$checked 	= '';
 | |
| 
 | |
| 
 | |
| 				$statusicon = 'yes';
 | |
| 
 | |
| 
 | |
| 				$statusName = 'enabled';
 | |
| 
 | |
| 
 | |
| 			}
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			echo '<tr id="post-'.$slug_hash.'" class="'.$class.'">
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				<th class="check-column">			
 | |
| 
 | |
| 
 | |
| 					<label class="screen-reader-text" for="cb-select-'.$slug_hash.'">Select '. $name .'</label>
 | |
| 
 | |
| 
 | |
| 					<input id="cb-select-'.$slug_hash.'" type="checkbox" name="post[]" value="'.$actualSlug.'" '.$checked.' ><label></label>
 | |
| 
 | |
| 
 | |
| 					<div class="locked-indicator"></div>
 | |
| 
 | |
| 
 | |
| 				</th>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				<td class="column-name">
 | |
| 
 | |
| 
 | |
| 					<p style="margin-bottom: 0px;"><strong>'. $name .'</strong></p>
 | |
| 
 | |
| 
 | |
| 					<small class="description" style="opacity: 0.5; margin-bottom: 3px;">'.$actualSlug.'</small>
 | |
| 
 | |
| 
 | |
| 				</td>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				<td class="cau_hide_on_mobile column-status">
 | |
| 
 | |
| 
 | |
| 					<p><span class="nowrap">'.__( 'Auto Updater', 'companion-auto-update' ).': <span class="cau_'.$statusName.'"><span class="dashicons dashicons-'.$statusicon.'"></span></span></span></p>
 | |
| 
 | |
| 
 | |
| 				</td>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 				<td class="cau_hide_on_mobile column-description">
 | |
| 
 | |
| 
 | |
| 					<p>'.$description.'</p>
 | |
| 
 | |
| 
 | |
| 				</td>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 			</tr>';
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		?>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 		</tbody>
 | |
| 
 | |
| 
 | |
| 	</table>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	<?php wp_nonce_field( 'cau_save_pluginlist' ); ?>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 	<div class='pluginListButtons'>
 | |
| 
 | |
| 
 | |
| 		<?php submit_button(); ?>
 | |
| 
 | |
| 
 | |
| 		<input type='submit' name='reset' id='reset' class='button button-alt' value='<?php _e( "Reset list", "companion-auto-update" ); ?>'>
 | |
| 
 | |
| 
 | |
| 	</div>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| </form>
 |