X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FOpenX%2FOpenXPlugin.php;h=d288363b21c323e2f06ece4b7effd14b4af33bf7;hb=0b53b6768e03932f4beec6b6655763e6ecedc36d;hp=59485f25d840f41c54c80aacdfb5d5b17bb7dbad;hpb=84e7c7783c3a781b6dc12335371c984eca8e43d8;p=quix0rs-gnu-social.git diff --git a/plugins/OpenX/OpenXPlugin.php b/plugins/OpenX/OpenXPlugin.php index 59485f25d8..d288363b21 100644 --- a/plugins/OpenX/OpenXPlugin.php +++ b/plugins/OpenX/OpenXPlugin.php @@ -75,11 +75,26 @@ if (!defined('STATUSNET')) { * * @seeAlso UAPPlugin */ - class OpenXPlugin extends UAPPlugin { public $adScript = null; + function initialize() + { + parent::initialize(); + + // A little bit of chicanery so we avoid overwriting values that + // are passed in with the constructor + foreach (array('mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper', 'adScript') as $setting) { + $value = common_config('openx', $setting); + if (!empty($value)) { // not found + $this->$setting = $value; + } + } + + return true; + } + /** * Show a medium rectangle 'ad' * @@ -87,7 +102,6 @@ class OpenXPlugin extends UAPPlugin * * @return void */ - protected function showMediumRectangle($action) { $this->showAd($action, $this->mediumRectangle); @@ -100,7 +114,6 @@ class OpenXPlugin extends UAPPlugin * * @return void */ - protected function showRectangle($action) { $this->showAd($action, $this->rectangle); @@ -113,7 +126,6 @@ class OpenXPlugin extends UAPPlugin * * @return void */ - protected function showWideSkyscraper($action) { $this->showAd($action, $this->wideSkyscraper); @@ -126,7 +138,6 @@ class OpenXPlugin extends UAPPlugin * * @return void */ - protected function showLeaderboard($action) { $this->showAd($action, $this->leaderboard); @@ -140,7 +151,6 @@ class OpenXPlugin extends UAPPlugin * * @return void */ - protected function showAd($action, $zone) { $scr = <<inlineScript(sprintf($scr, $this->adScript, $zone)); return true; } -} \ No newline at end of file + + function onRouterInitialized($m) + { + $m->connect('panel/openx', + array('action' => 'openxadminpanel')); + + return true; + } + + function onAutoload($cls) + { + $dir = dirname(__FILE__); + + switch ($cls) + { + case 'OpenxadminpanelAction': + require_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php'; + return false; + default: + return true; + } + } + + function onEndAdminPanelNav($menu) { + if (AdminPanelAction::canAdmin('openx')) { + // TRANS: Menu item title. + $menu_title = _m('OpenX configuration.'); + // TRANS: Menu item for site administration + $menu->out->menuItem(common_local_url('openxadminpanel'), _m('OpenX'), + $menu_title, $action_name == 'openxadminpanel', 'nav_openx_admin_panel'); + } + return true; + } + + /** + * Add our version information to output + * + * @param array &$versions Array of version-data arrays + * + * @return boolean hook value + */ + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'OpenX', + 'version' => STATUSNET_VERSION, + 'author' => 'Evan Prodromou', + 'homepage' => 'http://status.net/wiki/Plugin:OpenX', + 'rawdescription' => + // TRANS: Plugin description. + _m('Plugin for OpenX Ad Server.')); + return true; + } +}