示例#1
0
 public function __construct($user = false, $pwd = false, $signature = false)
 {
     if ($user and $pwd and $signature) {
         $this->__user = $user;
         $this->__pwd = $pwd;
         $this->__signature = $signature;
     } else {
         $provider_name = new Api_Model_Provider();
         $provider_name->find("paypal", "code");
         $keys = $provider_name->getKeys();
         foreach ($keys as $key) {
             switch ($key->getKey()) {
                 case "username":
                     $this->__user = $key->getValue();
                     break;
                 case "password":
                     $this->__pwd = $key->getValue();
                     break;
                 case "signature":
                     $this->__signature = $key->getValue();
                     break;
             }
         }
         if (!$this->__user or !$this->__pwd or !$this->__signature) {
             throw new Exception("Error, Paypal is not properly set up.");
         }
     }
     if ($this->isProduction()) {
         $this->__api_url = str_replace('sandbox.', '', $this->__api_url);
         $this->__paypal_url = str_replace('sandbox.', '', $this->__paypal_url);
     }
 }
示例#2
0
 public static function findKeysFor($provider_code)
 {
     if (empty(self::$__keys[$provider_code])) {
         $key = new self();
         $provider = new Api_Model_Provider();
         $provider->find($provider_code, 'code');
         if (!$provider->getId()) {
             return $keys;
         }
         foreach ($provider->getKeys() as $tmp_key) {
             $key->addData($tmp_key->getKey(), $tmp_key->getValue());
         }
         self::$__keys[$provider_code] = $key;
     }
     return self::$__keys[$provider_code];
 }
 public function findallAction()
 {
     $api_provider = new Api_Model_Provider();
     $api_providers = $api_provider->findAll();
     $data = array();
     foreach ($api_providers as $k => $api_provider) {
         $provider_name = "";
         if ($api_provider->getIcon()) {
             $provider_name = '<i class="fa ' . $api_provider->getIcon() . '"></i> ';
         }
         $provider_name .= $api_provider->getName();
         $data["apis"][$k]["provider_name"] = $provider_name;
         if (empty($data["apis"][$k]["keys"])) {
             $data["apis"][$k]["keys"] = array();
         }
         foreach ($api_provider->getKeys() as $key) {
             $data["apis"][$k]["keys"][] = array("id" => $key->getId(), "provider" => $api_provider->getCode(), "key" => $key->getKey(), "value" => $key->getValue());
         }
     }
     $this->_sendHtml($data);
 }
<?php

$this->query("\n    CREATE TABLE `api_provider` (\n        `provider_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n        `code` varchar(30) NOT NULL,\n        `name` varchar(60) NOT NULL,\n        `icon` varchar(50) NULL DEFAULT NULL,\n        `created_at` datetime NOT NULL,\n        `updated_at` datetime NOT NULL,\n        PRIMARY KEY (`provider_id`)\n    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n\n    CREATE TABLE `api_key` (\n        `key_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n        `provider_id` int(11) unsigned NOT NULL,\n        `key` varchar(30) NULL DEFAULT NULL,\n        `value` varchar(255) NULL DEFAULT NULL,\n        `created_at` datetime NOT NULL,\n        `updated_at` datetime NOT NULL,\n        PRIMARY KEY (`key_id`),\n        KEY `KEY_PROVIDER_ID` (`provider_id`)\n    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n");
$this->query("\n    CREATE TABLE `api_user` (\n        `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n        `username` varchar(50) NOT NULL,\n        `firstname` varchar(50) NULL DEFAULT NULL,\n        `lastname` varchar(50) NULL DEFAULT NULL,\n        `password` varchar(100) NOT NULL,\n        `created_at` datetime NOT NULL,\n        `updated_at` datetime NOT NULL,\n        PRIMARY KEY (`user_id`)\n    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n");
$this->query("\n    ALTER TABLE `api_key`\n        ADD FOREIGN KEY `FK_PROVIDER_ID` (`provider_id`) REFERENCES `api_provider` (`provider_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n");
$apis = array(array("code" => "instagram", "icon" => "fa-instagram", "keys" => array("token", "client_id")), array("code" => "facebook", "icon" => "fa-facebook-square", "keys" => array("app_id", "secret_key")), array("code" => "youtube", "icon" => "fa-youtube", "keys" => array("api_key")), array("code" => "soundcloud", "icon" => "fa-soundcloud", "keys" => array("client_id", "secret_id")));
foreach ($apis as $provider_data) {
    $provider_name = ucfirst($provider_data["code"]);
    $provider = new Api_Model_Provider();
    $provider->setData(array("code" => $provider_data["code"], "name" => $provider_name, "icon" => $provider_data["icon"]))->save();
    foreach ($provider_data["keys"] as $key) {
        $data = array('provider_id' => $provider->getId(), 'key' => $key);
        $key = new Api_Model_Key();
        $key->setData($data)->save();
    }
}
示例#5
0
<?php

$this->query("\n    CREATE TABLE `api_provider` (\n        `provider_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n        `code` varchar(30) NOT NULL,\n        `name` varchar(60) NOT NULL,\n        `created_at` datetime NOT NULL,\n        `updated_at` datetime NOT NULL,\n        PRIMARY KEY (`provider_id`)\n    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n\n    CREATE TABLE `api_key` (\n        `key_id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n        `provider_id` int(11) unsigned NOT NULL,\n        `key` varchar(30) NULL DEFAULT NULL,\n        `value` varchar(255) NULL DEFAULT NULL,\n        `created_at` datetime NOT NULL,\n        `updated_at` datetime NOT NULL,\n        PRIMARY KEY (`key_id`),\n        KEY `KEY_PROVIDER_ID` (`provider_id`)\n    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;\n");
$this->query("\n    ALTER TABLE `api_key`\n        ADD FOREIGN KEY `FK_PROVIDER_ID` (`provider_id`) REFERENCES `api_provider` (`provider_id`) ON DELETE CASCADE ON UPDATE CASCADE;\n");
$apis = array('instagram' => array('token', 'client_id'), 'facebook' => array('app_id', 'secret_key'), 'youtube' => array('api_key'));
foreach ($apis as $provider_code => $keys) {
    $provider_name = ucfirst($provider_code);
    $provider = new Api_Model_Provider();
    $provider->setData(array('code' => $provider_code, 'name' => $provider_name))->save();
    foreach ($keys as $key) {
        $datas = array('provider_id' => $provider->getId(), 'key' => $key);
        $key = new Api_Model_Key();
        $key->setData($datas)->save();
    }
}
<?php

$this->query("ALTER TABLE `api_provider` ADD `icon` varchar(50) NULL DEFAULT NULL AFTER `name`;");
$provider_codes = array("instagram" => "fa-instagram", "facebook" => "fa-facebook-square", "youtube" => "fa-youtube");
foreach ($provider_codes as $provider_code => $icon_name) {
    $provider = new Api_Model_Provider();
    $provider->find($provider_code, "code");
    if ($provider->getId()) {
        $provider->setIcon($icon_name)->save();
    }
}