Rev 15403 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** Application model for CakePHP.** This file is application-wide model file. You can put all* application-wide model-related methods here.** CakePHP(tm) : Rapid Development Framework (http://cakephp.org)* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)** Licensed under The MIT License* For full copyright and license information, please see the LICENSE.txt* Redistributions of files must retain the above copyright notice.** @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)* @link http://cakephp.org CakePHP(tm) Project* @package app.Model* @since CakePHP(tm) v 0.2.9* @license http://www.opensource.org/licenses/mit-license.php MIT License*/App::uses('Model', 'Model');/*** Application model for Cake.** Add your application-wide methods in the class below, your models* will inherit them.** @package app.Model*/class AppModel extends Model {public function make_request($url,$fields,$format='json'){$fields_string = '';if(!empty($fields)){foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }rtrim($fields_string, '&');}//open connection$ch = curl_init();//set the url, number of POST vars, POST datacurl_setopt($ch,CURLOPT_URL, $url);curl_setopt($ch,CURLOPT_RETURNTRANSFER , true);if(!empty($fields)) {curl_setopt($ch,CURLOPT_POST, count($fields));curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);}//execute post$result = curl_exec($ch);//close connectioncurl_close($ch);switch($format){case 'json':$response = json_decode($result,1);break;}return $response;}public function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1') {//create the URL$bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format;//get the url//could also use cURL here$response = file_get_contents($bitly);//parse depending on desired formatif(strtolower($format) == 'json'){$json = @json_decode($response,true);return $json['results'][$url]['shortUrl'];}else //xml{$xml = simplexml_load_string($response);return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;}}/*** Connects to specified database** @param String name of different database to connect with.* @param String name of existing datasource* @return boolean true on success, false on failure* @access public*/public function setDatabase($database, $datasource = 'click'){$nds = $datasource . '_' . $database;$db = &ConnectionManager::getDataSource($datasource);$db->setConfig(array('name' => $nds,'database' => $database,'persistent' => false));if ( $ds = ConnectionManager::create($nds, $db->config) ) {$this->useDbConfig = $nds;$this->cacheQueries = false;return true;}return false;}}