[geeklog-jp commit] r607 - trunk/geeklog-1-jp-extended/public_html/admin/plugins/nmoxqrblock

Back to archive index

codes****@googl***** codes****@googl*****
2008年 9月 18日 (木) 15:11:00 JST


Author: nmox.nan
Date: Wed Sep 17 23:06:31 2008
New Revision: 607

Added:
    trunk/geeklog-1-jp-extended/public_html/admin/plugins/nmoxqrblock/
     
trunk/geeklog-1-jp-extended/public_html/admin/plugins/nmoxqrblock/install.php    
(contents, props changed)

Log:
新規コミットです

Added:  
trunk/geeklog-1-jp-extended/public_html/admin/plugins/nmoxqrblock/install.php
==============================================================================
--- (empty file)
+++  
trunk/geeklog-1-jp-extended/public_html/admin/plugins/nmoxqrblock/install.php	 
Wed Sep 17 23:06:31 2008
@@ -0,0 +1,184 @@
+<?php
+//  
+---------------------------------------------------------------------------+
+// | nmoxqrblock Geeklog Plugin 1.0                                       |
+//  
+---------------------------------------------------------------------------+
+// |  
install.php                                                               |
+//  
|                                                                            
|
+//  
+---------------------------------------------------------------------------+
+// | Copyright (C) 2007 by  
nmox                                                |
+//  
|                                                                            
|
+//  
+---------------------------------------------------------------------------+
+//  
|                                                                            
|
+// | This program is free software; you can redistribute it  
and/or             |
+// | modify it under the terms of the GNU General Public  
License               |
+// | as published by the Free Software Foundation; either version  
2            |
+// | of the License, or (at your option) any later  
version.                    |
+//  
|                                                                            
|
+// | This program is distributed in the hope that it will be  
useful,           |
+// | but WITHOUT ANY WARRANTY; without even the implied warranty  
of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See  
the             |
+// | GNU General Public License for more  
details.                              |
+//  
|                                                                            
|
+//  
+---------------------------------------------------------------------------+
+//
+global $_TABLES,$_USER, $_NMOXQRBLOCK,$LANG_NMOXQRBLOCK,$_CONF;
+require_once('../../../lib-common.php');
+require_once($_CONF['path'] . 'plugins/nmoxqrblock/config.php');
+require_once($_CONF['path'] . 'plugins/nmoxqrblock/functions.inc');
+
+//
+// Universal plugin install variables
+// Change these to match your plugin
+//
+
+$pi_name    = 'nmoxqrblock';             // Plugin name  Must be 15 chars  
or less
+$pi_version = $_NMOXQRBLOCK['version'];  // Plugin Version
+$gl_version = '1.4.1';                  // GL Version plugin for
+$pi_url     = 'http://nmox.com/'; // Plugin Homepage
+
+//
+// Default data
+// Insert table name and sql to insert default data for your plugin.
+//
+
+$NEWFEATURE = array();
+$NEWFEATURE['nmoxqrblock.edit']="nmoxqrblock Admin";
+$NEWFEATURE['nmoxqrblock.user']="nmoxqrblock User";
+
+// Default data
+
+// Only let Root users access this page
+if (!SEC_inGroup('Root')) {
+	// Someone is trying to illegally access this page
+	COM_errorLog("Someone has tried to illegally access the nmoxqrblock  
install/uninstall page.  User id: {$_USER['uid']}, Username:  
{$_USER['username']}, IP: $REMOTE_ADDR",1);
+	$display = COM_siteHeader();
+	$display .= COM_startBlock($LANG_NMOXQRBLOCK['access_denied']);
+	$display .= $LANG_NMOXQRBLOCK['access_denied_msg'];
+	$display .= COM_endBlock();
+	$display .= COM_siteFooter(true);
+	echo $display;
+	exit;
+}
+
+/**
+* Puts the datastructures for this plugin into the Geeklog database
+*
+* Note: Corresponding uninstall routine is in functions.inc
+*
+* @return   boolean True if successful False otherwise
+*
+*/
+function plugin_install_now()
+{
+    global $pi_name, $pi_version, $gl_version, $pi_url, $NEWFEATURE;
+    global $_TABLES,$_CONF,$LANG_NMOXQRBLOCK;
+
+
+    DB_query("INSERT INTO {$_TABLES['groups']} (grp_name, grp_descr) "
+        . "VALUES ('$pi_name Admin', 'Users in this group can administer  
the $pi_name plugin')",1);
+    if (DB_error()) {
+    	COM_errorLog('failed insert groups table',1);
+        plugin_uninstall_nmoxqrblock();
+        return false;
+        exit;
+    }
+    $group_id = DB_insertId();
+
+    DB_query("INSERT INTO {$_TABLES['vars']} VALUES  
('{$pi_name}_admin', '$group_id')",1);
+    if (DB_error()) {
+    	COM_errorLog('failed insert vars table',1);
+        plugin_uninstall_nmoxqrblock();
+        return false;
+        exit;
+    }
+
+    foreach ($NEWFEATURE as $feature => $desc) {
+        DB_query("INSERT INTO {$_TABLES['features']} (ft_name, ft_descr) "
+            . "VALUES ('$feature','$desc')",1);
+        if (DB_error()) {
+    		COM_errorLog('failed insert feature table',1);
+            plugin_uninstall_nmoxqrblock();
+            return false;
+            exit;
+        }
+        $feat_id = DB_insertId();
+        DB_query("INSERT INTO {$_TABLES['access']} (acc_ft_id, acc_grp_id)  
VALUES ($feat_id, $group_id)");
+        if (DB_error()) {
+    		COM_errorLog('failed insert access table',1);
+            plugin_uninstall_nmoxqrblock();
+            return false;
+            exit;
+        }
+    }
+
+    DB_query("INSERT INTO {$_TABLES['group_assignments']} VALUES  
($group_id, NULL, 1)");
+    if (DB_error()) {
+    	COM_errorLog('failed insert group_assignments table',1);
+        plugin_uninstall_nmoxqrblock();
+        return false;
+        exit;
+    }
+
+    DB_delete($_TABLES['plugins'],'pi_name','nmoxqrblock');
+    DB_query("INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version,  
pi_gl_version, pi_homepage, pi_enabled) "
+        . "VALUES ('$pi_name', '$pi_version', '$gl_version', '$pi_url',  
1)");
+    if (DB_error()) {
+    	COM_errorLog('failed insert plugin table',1);
+        plugin_uninstall_nmoxqrblock();
+        return false;
+        exit;
+    }
+
+	$rc=DB_query("select count(*) as c from ".$_TABLES['blocks']." where  
tid='".$LANG_NMOXQRBLOCK["title_block"]."'");
+	if($rc["c"]<1){
+		DB_query("insert into ".$_TABLES['blocks']."
+		 
(is_enabled,name,type,title,tid,blockorder,onleft,phpblockfn,owner_id,group_id)
+		values
+		 
(1,'nmoxqrbock','phpblock','".$LANG_NMOXQRBLOCK["title_block"]."','all',90,1,'phpblock_nmoxqrblock',2,".$group_id.")",1);
+	    if (DB_error()) {
+	    	COM_errorLog('failed insert blocks table',1);
+	        plugin_uninstall_nmoxqrblock();
+	        return false;
+	        exit;
+	    }
+	}
+
+
+    return true;
+}
+
+/*
+* Main Function
+*/
+
+$display = '';
+
+if ($_REQUEST['action'] == 'uninstall') {
+    $uninstall_plugin = 'plugin_uninstall_' . $pi_name;
+    if ($uninstall_plugin ()) {
+        $display = COM_refresh ($_CONF['site_admin_url']
+                                . '/plugins.php?msg=45');
+    } else {
+        $display = COM_refresh ($_CONF['site_admin_url']
+                                . '/plugins.php?msg=73');
+    }
+} else if (DB_count ($_TABLES['plugins'], 'pi_name', $pi_name) == 0) {
+    // plugin not installed
+    if (plugin_install_now ()) {
+        $display = COM_refresh ($_CONF['site_admin_url']
+                                . '/plugins.php?msg=44');
+    } else {
+        $display = COM_refresh ($_CONF['site_admin_url']
+                                . '/plugins.php?msg=72');
+    }
+} else {
+    // plugin already installed
+    $display .= COM_siteHeader ('menu', $LANG01[77])
+             . COM_startBlock ($LANG32[6])
+             . '<p>' . $LANG32[7] . '</p>'
+             . COM_endBlock ()
+             . COM_siteFooter();
+}
+
+echo $display;
+?>
\ No newline at end of file




Geeklogjp-changes メーリングリストの案内
Back to archive index