123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- /*
- [UCenter] (C)2001-2099 Comsenz Inc.
- This is NOT a freeware, use is subject to license terms
- $Id: plugin.php 1059 2011-03-01 07:25:09Z monkey $
- */
- !defined('IN_UC') && exit('Access Denied');
- class pluginmodel {
- var $db;
- var $base;
- function __construct(&$base) {
- $this->pluginmodel($base);
- }
- function pluginmodel(&$base) {
- $this->base = $base;
- $this->db = $base->db;
- }
- function get_plugins() {
- include_once UC_ROOT.'./lib/xml.class.php';
- $arr = array();
- $dir = UC_ROOT.'./plugin';
- $d = opendir($dir);
- while($f = readdir($d)) {
- if($f != '.' && $f != '..' && $f != '.svn' && is_dir($dir.'/'.$f)) {
- $s = file_get_contents($dir.'/'.$f.'/plugin.xml');
- $arr1 = xml_unserialize($s);
- $arr1['dir'] = $f;
- unset($arr1['lang']);
- $arr[] = $arr1;
- }
- }
- $arr = $this->orderby_tabindex($arr);
- return $arr;
- }
- function get_plugin($pluginname) {
- $f = file_get_contents(UC_ROOT."./plugin/$pluginname/plugin.xml");
- include_once UC_ROOT.'./lib/xml.class.php';
- return xml_unserialize($f);
- }
- function get_plugin_by_name($pluginname) {
- $dir = UC_ROOT.'./plugin';
- $s = file_get_contents($dir.'/'.$pluginname.'/plugin.xml');
- return xml_unserialize($s, TRUE);
- }
- function orderby_tabindex($arr1) {
- $arr2 = array();
- $t = array();
- foreach($arr1 as $k => $v) {
- $t[$k] = $v['tabindex'];
- }
- asort($t);
- $arr3 = array();
- foreach($t as $k => $v) {
- $arr3[$k] = $arr1[$k];
- }
- return $arr3;
- }
- function cert_get_file() {
- return UC_ROOT.'./data/tmp/ucenter_'.substr(md5(UC_KEY), 0, 16).'.cert';
- }
- function cert_dump_encode($arr, $life = 0) {
- $s = "# UCenter Applications Setting Dump\n".
- "# Version: UCenter ".UC_SERVER_VERSION."\n".
- "# Time: ".$this->time."\n".
- "# Expires: ".($this->time + $life)."\n".
- "# From: ".UC_API."\n".
- "#\n".
- "# This file was BASE64 encoded\n".
- "#\n".
- "# UCenter Community: http://www.discuz.net\n".
- "# Please visit our website for latest news about UCenter\n".
- "# --------------------------------------------------------\n\n\n".
- wordwrap(base64_encode(serialize($arr)), 50, "\n", 1);
- return $s;
- }
- function cert_dump_decode($certfile) {
- $s = @file_get_contents($certfile);
- if(empty($s)) {
- return array();
- }
- preg_match("/# Expires: (.*?)\n/", $s, $m);
- if(empty($m[1]) || $m[1] < $this->time) {
- unlink($certfile);
- return array();
- }
- $s = preg_replace("/(#.*\s+)*/", '', $s);
- $arr = daddslashes(unserialize(base64_decode($s)), 1);
- return $arr;
- }
- }
- ?>
|