/** * bit.ly module's settings * @todo Create/get and display the shortened value for this Gallery's root album (home page) */ public function index() { $form = bitly::get_configure_form(); $login = module::get_var("bitly", "login"); $api_key = module::get_var("bitly", "api_key"); $domain = module::get_var("bitly", "domain"); $valid_config = false; if (request::method() == "post") { access::verify_csrf(); if ($form->validate()) { $new_login = $form->configure_bitly->login->value; $new_key = $form->configure_bitly->api_key->value; $new_domain = $form->configure_bitly->domain->value; module::set_var("bitly", "login", $new_login); module::set_var("bitly", "api_key", $new_key); module::set_var("bitly", "domain", $new_domain); if (!bitly::check_config()) { url::redirect("admin/bitly"); } else { if ($login && !$new_login) { message::success(t("Your bit.ly login has been cleared.")); } else { if ($login && $new_login && $login != $new_login) { message::success(t("Your bit.ly login has been changed.")); } else { if (!$login && $new_login) { message::success(t("Your bit.ly login has been saved.")); } } } if ($api_key && !$new_key) { message::success(t("Your bit.ly API key has been cleared.")); } else { if ($api_key && $new_key && $api_key != $new_key) { message::success(t("Your bit.ly API key has been changed.")); } else { if (!$api_key && $new_key) { message::success(t("Your bit.ly API key has been saved.")); } } } if ($domain && $new_domain && $domain != $new_domain) { message::success(t("Your preferrend bit.ly domain has been changed.")); } else { if (!$domain && $new_domain) { message::success(t("Your preferred bit.ly domain has been saved.")); } } log::success("bitly", t("bit.ly login changed to %new_login", array("new_login" => $new_login))); log::success("bitly", t("bit.ly API key changed to %new_key", array("new_key" => $new_key))); !$new_login || !$new_key ? $valid_config = false : ($valid_config = true); } } } $view = new Admin_View("admin.html"); $view->page_title = t("bit.ly url shortner"); $view->content = new View("admin_bitly.html"); $view->content->login = $form->configure_bitly->login->value; $view->content->api_key = $form->configure_bitly->api_key->value; $view->content->domain = $form->configure_bitly->domain->value; $view->content->form = $form; $link = ORM::factory("bitly_link")->where("item_id", "=", 1)->find(); if ($link->loaded()) { $view->content->g3_url = bitly::url($link->hash); } else { if ($valid_config && !empty($login) && !empty($api_key) && !empty($domain)) { $view->content->g3_url = bitly::shorten_url(1); } } print $view; }
static function install() { Database::instance()->query("CREATE TABLE {bitly_links} (\n `id` int(9) NOT NULL AUTO_INCREMENT,\n `item_id` int(9) NOT NULL,\n `hash` char(6) NOT NULL,\n `global_hash` char(6) NOT NULL,\n PRIMARY KEY (`id`))\n DEFAULT CHARSET=utf8;"); module::set_version("bitly", 1); bitly::check_config(); }