74 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/*
 | 
						|
 * Plugin Name: LastComments Admin
 | 
						|
 * Version: 1.0
 | 
						|
 * Plugin URI: https://www.flatpress.org
 | 
						|
 * Author: FlatPress
 | 
						|
 * Author URI: https://www.flatpress.org
 | 
						|
 * Description: Manage the cache of the LastComments plugin. Requires LastComment plugin enabled. Part of the standard distribution.
 | 
						|
 */
 | 
						|
if (class_exists('AdminPanelAction')) {
 | 
						|
 | 
						|
	class admin_plugin_lastcommentsadmin extends AdminPanelAction {
 | 
						|
 | 
						|
		var $langres = 'plugin:lastcommentsadmin';
 | 
						|
 | 
						|
		function setup() {
 | 
						|
			$this->smarty->assign('admin_resource', "plugin:lastcommentsadmin/admin.plugin.lastcommentsadmin");
 | 
						|
		}
 | 
						|
 | 
						|
		function main() {
 | 
						|
			if (!function_exists('plugin_lastcomments_cache')) {
 | 
						|
				$this->smarty->assign('success', -2);
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		function onsubmit($data = NULL) {
 | 
						|
			global $fp_config;
 | 
						|
 | 
						|
			// No action possible if LastComments plugin isn't activated!
 | 
						|
			if (!function_exists('plugin_lastcomments_cache')) {
 | 
						|
				$this->smarty->assign('success', -2);
 | 
						|
				return;
 | 
						|
			}
 | 
						|
 | 
						|
			if (isset($_POST ['lastcommentadmin_clear'])) {
 | 
						|
				fs_delete(LASTCOMMENTS_CACHE_FILE);
 | 
						|
				$this->smarty->assign('success', 1);
 | 
						|
			}
 | 
						|
 | 
						|
			if (isset($_POST ['lastcommentadmin_rebuild'])) {
 | 
						|
				fs_delete(LASTCOMMENTS_CACHE_FILE);
 | 
						|
				$coms = Array();
 | 
						|
 | 
						|
				$q = new FPDB_Query(array(
 | 
						|
					'fullparse' => false,
 | 
						|
					'start' => 0,
 | 
						|
					'count' => -1
 | 
						|
				), null);
 | 
						|
				while ($q->hasmore()) {
 | 
						|
					list ($id, $e) = $q->getEntry();
 | 
						|
					$obj = new comment_indexer($id);
 | 
						|
					foreach ($obj->getList() as $value) {
 | 
						|
						$coms [$value] = $id;
 | 
						|
					}
 | 
						|
					ksort($coms);
 | 
						|
					$coms = array_slice($coms, -LASTCOMMENTS_MAX);
 | 
						|
				}
 | 
						|
				foreach ($coms as $cid => $eid) {
 | 
						|
					$c = comment_parse($eid, $cid);
 | 
						|
					plugin_lastcomments_cache($eid, array(
 | 
						|
						$cid,
 | 
						|
						$c
 | 
						|
					));
 | 
						|
				}
 | 
						|
				$this->smarty->assign('success', 2);
 | 
						|
			}
 | 
						|
 | 
						|
			return 2;
 | 
						|
		}
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	admin_addpanelaction('plugin', 'lastcommentsadmin', true);
 | 
						|
} |