public static function _find_current_plugindata($blog) { $keys = array('configuration:blog:' . $blog->id); if ($blog->parent_id) { array_push($keys, 'configuration:blog:' . $blog->parent_id); } array_push($keys, 'configuration'); require_once 'class.mt_plugindata.php'; $class = new PluginData(); $where = "plugindata_plugin = 'GoogleAnalytics' AND " . "plugindata_key IN ('" . join("','", $keys) . "')"; $tmp_objs = $class->Find($where); if (empty($tmp_objs)) { return null; } $objs = array(); foreach ($keys as $k) { foreach ($tmp_objs as $o) { if ($o->key == $k) { array_push($objs, $o); } } } $mt = MT::get_instance(); $db = $mt->db(); for ($i = 0; $i < sizeof($objs); $i++) { $o = $objs[$i]; $data = $o->data(); if ($data && $data['profile_id']) { if ($data['client_id'] && $data['client_secret']) { return $o; } else { if ($data['parent_client_id']) { for ($j = 0; $j < sizeof($objs); $j++) { $parent_data = $objs[$j]->data(); if ($parent_data && $parent_data['client_id'] && $parent_data['client_id'] == $data['parent_client_id'] && $parent_data['client_secret']) { return $o; } } } } } } }
public function fetch_plugin_data($plugin, $key) { $plugin = $this->escape($plugin); $key = $this->escape($key); require_once 'class.mt_plugindata.php'; $class = new PluginData(); $where = "plugindata_plugin = '{$plugin}'\n and plugindata_key = '{$key}'"; $pdatas = $class->Find($where); if (!empty($pdatas)) { $data = $pdatas[0]->data; if ($data) { return $this->unserialize($data); } } return null; }