61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * Plugin Name: Media Manager
 | |
|  * Version: 1.0
 | |
|  * Plugin URI: https://www.flatpress.org
 | |
|  * Author: FlatPress
 | |
|  * Author URI: https://www.flatpress.org
 | |
|  * Description: Manage uploaded files and photo galleries. Part of the standard distribution.
 | |
|  */
 | |
| 
 | |
| // config
 | |
| define('ITEMSPERPAGE', 10);
 | |
| 
 | |
| //
 | |
| function mediamanager_updateUseCountArr(&$files, $fupd) {
 | |
| 	$params = array();
 | |
| 	$params ['start'] = 0;
 | |
| 	$params ['count'] = -1;
 | |
| 	$params ['fullparse'] = true;
 | |
| 	$q = new FPDB_Query($params, null);
 | |
| 	while ($q->hasMore()) {
 | |
| 		list ($id, $e) = $q->getEntry();
 | |
| 		if (isset($e ['content'])) {
 | |
| 			foreach ($fupd as $id) {
 | |
| 				if (is_null($files [$id] ['usecount']))
 | |
| 					$files [$id] ['usecount'] = 0;
 | |
| 				if ($files [$id] ['type'] == 'gallery') {
 | |
| 					$searchterm = "[gallery=images/" . $files [$id] ['name'];
 | |
| 				} else {
 | |
| 					$searchterm = $files [$id] ['type'] . "/" . $files [$id] ['name'];
 | |
| 				}
 | |
| 				if (strpos($e ['content'], $searchterm) !== false)
 | |
| 					$files [$id] ['usecount']++;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	$usecount = array();
 | |
| 	foreach ($files as $info) {
 | |
| 		$usecount [$info ['name']] = $info ['usecount'];
 | |
| 	}
 | |
| 	plugin_addoption('mediamanager', 'usecount', $usecount);
 | |
| 	plugin_saveoptions('mediamanager');
 | |
| }
 | |
| 
 | |
| if (class_exists('AdminPanelAction')) {
 | |
| 
 | |
| 	include (plugin_getdir('mediamanager') . '/panels/panel.mediamanager.file.php');
 | |
| }
 | |
| 
 | |
| /* invalidate count on entry save and delete */
 | |
| function mediamanager_invalidatecount($arg) {
 | |
| 	plugin_addoption('mediamanager', 'usecount', array());
 | |
| 	plugin_saveoptions('mediamanager');
 | |
| 	return $arg;
 | |
| }
 | |
| add_filter('delete_post', 'mediamanager_invalidatecount', 1);
 | |
| add_filter('content_save_pre', 'mediamanager_invalidatecount', 1);
 | |
| 
 | |
| ?>
 | 
