PageRenderTime 51ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/admin/lib/helper_old.php

https://github.com/hemanth1488/PHPProject
PHP | 540 lines | 352 code | 97 blank | 91 comment | 52 complexity | 3c037e3aeb2b7f50efea09f69cb0b1e4 MD5 | raw file
  1. <?php
  2. defined("FACEBOOK_APP") or die("restricted access");
  3. require_once '../lib/configuration.php';
  4. require_once '../lib/SimpleImage.php';
  5. require_once '../sdk/facebook.php';
  6. class Helper
  7. {
  8. var $con;
  9. //
  10. // Common Functions
  11. //
  12. function getFacebook(){
  13. $appid = Configuration::app_id;
  14. $appsecret = Configuration::app_secret;
  15. // Create our Application instance
  16. $facebook = new Facebook(array(
  17. 'appId' => $appid,
  18. 'secret' => $appsecret,
  19. 'cookie' => true,
  20. 'domain' => $_SERVER["SERVER_NAME"]
  21. ));
  22. //try get a valid session
  23. //check session.
  24. if (!$facebook->getSession()) Helper::requestPermission($facebook);
  25. return $facebook;
  26. }
  27. function isSessionExpiredException($facebook){
  28. $signedRequest = $facebook->getSignedRequest();
  29. $token = $signedRequest['oauth_token'];
  30. return empty($token);
  31. }
  32. function requestPermission($facebook){
  33. $url = $facebook->getLoginUrl(array(
  34. 'canvas' => 1,
  35. 'fbconnect' => 0,
  36. 'req_perms' => Configuration::req_perms,
  37. 'next' => ''
  38. ));
  39. echo "<script type='text/javascript'>top.location.href = '$url';</script>";
  40. exit(); //prevent further execution of php code.
  41. }
  42. function connectDB(){
  43. //open connection
  44. $con = mysql_connect(Configuration::db_host, Configuration::db_username, Configuration::db_password);
  45. if (!$con)
  46. die('Could not connect: ' . mysql_error());
  47. mysql_select_db(Configuration::db_database,$con);
  48. }
  49. function escape($str){
  50. if (!$con) Helper::connectDB(); //must connect to db, in order to run escape
  51. if(get_magic_quotes_gpc()) $str=stripslashes($str);
  52. return mysql_real_escape_string ($str);
  53. }
  54. function filterScript($str) {
  55. //look for < tag and remove it
  56. return str_replace("<", "", $str);
  57. }
  58. /*
  59. function checkSignature(){
  60. //ONLY check parameters presented in GET
  61. $params = Configuration::shared_key;
  62. ksort($_GET);
  63. foreach($_GET as $key => $val){
  64. if($key=='sig') continue;
  65. $params = $params.$key.$val;
  66. }
  67. //echo $params; echo "<br/>"; echo md5($params);echo "<br/>";
  68. return (md5($params)==$_GET['sig']);
  69. }
  70. function signResponse($output){
  71. //output string should be a plain string such as 1234 or helloworld
  72. //or a xml formated string, eg. <a b="c"></a>
  73. $key = Configuration::shared_key;
  74. $sig = md5($key.$output);
  75. $response = '<response sig="'.$sig.'"><result>'.$output.'</result></response>';
  76. return $response;
  77. }
  78. */
  79. //automatically post to user wall,please make sure stream_publish permission allowed
  80. function autoPostWall($facebook,$message,$picture_link,$link,$description,$name){
  81. $session = $facebook->getSession();
  82. $access_token = $session['access_token'];
  83. if ($session) {
  84. try {
  85. $post_id = $facebook->api('/me/feed', 'post', array(
  86. 'access_token' => "$access_token",
  87. 'message'=> "$message",
  88. 'picture' => "$picture_link",
  89. 'link'=> "$link",
  90. 'description'=> "$description",
  91. 'name'=> "$name",
  92. ) );
  93. return $post_id['id'];
  94. } catch (FacebookApiException $e) {
  95. return;//if(Helper::isSessionExpiredException($facebook)) Helper::requestPermission($facebook);
  96. }
  97. }
  98. return null;
  99. }
  100. function checkPageLiked($facebook) {
  101. try{
  102. $response = $facebook->api(array(
  103. 'method' => 'fql.query',
  104. 'query' => 'SELECT uid FROM page_fan WHERE page_id="'.Configuration::fan_page_id.'" AND uid=me()',
  105. ));
  106. $like = $response[0]['uid'];
  107. return $like;
  108. }catch(FacebookApiException $e){
  109. if(Helper::isSessionExpiredException($facebook)) Helper::requestPermission($facebook);
  110. }
  111. }
  112. function getFbFriends($facebook) {
  113. try{
  114. $friends = $facebook->api(array(
  115. 'method' => 'fql.query',
  116. 'query' => 'SELECT uid2 FROM friend WHERE uid1 = me()',
  117. ));
  118. return $friends;
  119. }catch(FacebookApiException $e){
  120. if(Helper::isSessionExpiredException($facebook)) Helper::requestPermission($facebook);
  121. }
  122. }
  123. //post id = userid_appid
  124. function getPostLike($facebook,$fb_post_id) {
  125. try {
  126. $user_like = $facebook->api(array(
  127. 'method' => 'fql.query',
  128. 'query' => 'SELECT user_id FROM like WHERE post_id = "'.$fb_post_id.'"',
  129. ));
  130. return $user_like;
  131. }catch(FacebookApiException $e){
  132. if(Helper::isSessionExpiredException($facebook)) Helper::requestPermission($facebook);
  133. }
  134. }
  135. //post id = userid_appid
  136. function getPostComment($facebook,$fb_post_id) {
  137. try{
  138. $multiQuery = '{
  139. "query1": "SELECT fromid FROM comment WHERE post_id=\"'.$fb_post_id.'\"",
  140. "query2": "SELECT uid FROM user WHERE uid IN (SELECT fromid FROM #query1)"
  141. }';
  142. $user_comment = $facebook->api(array(
  143. 'method' => 'fql.multiquery',
  144. 'queries' => $multiQuery,
  145. ));
  146. return $user_comment[1]['fql_result_set'];
  147. }catch(FacebookApiException $e){
  148. if(Helper::isSessionExpiredException($facebook)) Helper::requestPermission($facebook);
  149. }
  150. }
  151. function isAdmin($facebook) {
  152. $admin_ids = Configuration::admin_id;
  153. $array = explode(",", $admin_ids);
  154. $fb_id = $facebook->getUser();
  155. foreach($array as $admin_id) {
  156. if($admin_id == $fb_id)
  157. return true;
  158. }
  159. return false;
  160. /*
  161. try{
  162. $admin = $facebook->api(array(
  163. 'method' => 'fql.query',
  164. 'query' => 'SELECT uid FROM page_admin WHERE uid = me() AND page_id = "'.Configuration::fan_page_id.'"',
  165. ));
  166. if(empty($admin)) return false;
  167. return true;
  168. }catch(FacebookApiException $e){
  169. if(Helper::isSessionExpiredException($facebook)) Helper::requestPermission($facebook);
  170. }
  171. */
  172. }
  173. //modify as necessary , for now : full name and email
  174. function getProfile($facebook) {
  175. try{
  176. $response = $facebook->api(array(
  177. 'method' => 'fql.query',
  178. 'query' => 'SELECT name FROM user WHERE uid=me()',
  179. ));
  180. $fb_name = $response[0]['name'];
  181. $profile = (object) array("fb_name" => $fb_name);
  182. return $profile;
  183. }catch(FacebookApiException $e){
  184. if(Helper::isSessionExpiredException($facebook)) Helper::requestPermission($facebook);
  185. }
  186. }
  187. function formatNewLine($str) {
  188. return str_replace("\n", "<br/>", $str);
  189. }
  190. //
  191. // Application Specific Functions
  192. //
  193. function saveAmbassador($ambassador_fb_id,$ambassador_name) {
  194. //check with DB
  195. if (!$con) Helper::connectDB();
  196. //check duplicate
  197. $result = Helper::getAmbassador($ambassador_fb_id);
  198. if(!empty($result)) return "Ambassador already exist";
  199. $query = "INSERT INTO ambassador (ambassador_fb_id,ambassador_name) VALUES ('$ambassador_fb_id','$ambassador_name')";
  200. mysql_query($query);
  201. }
  202. function removeAmbassador($ambassador_fb_id) {
  203. //check with DB
  204. if (!$con) Helper::connectDB();
  205. $query = "DELETE FROM post WHERE ambassador_fb_id='$ambassador_fb_id'";
  206. mysql_query($query);
  207. $query = "DELETE FROM ambassador WHERE ambassador_fb_id='$ambassador_fb_id'";
  208. mysql_query($query);
  209. }
  210. function getAllAmbassador() {
  211. //check with DB
  212. if (!$con) Helper::connectDB();
  213. $query = "SELECT * FROM ambassador ORDER by id DESC";
  214. $result = mysql_query($query);
  215. $array = array();
  216. while($row = mysql_fetch_object($result)){
  217. array_push($array, $row);
  218. }
  219. mysql_free_result($result);
  220. return $array;
  221. }
  222. function setAmbassadorActive($ambassador_fb_ids) {
  223. //check with DB
  224. if (!$con) Helper::connectDB();
  225. //set all ambassador to inactive
  226. $query = "UPDATE ambassador SET ambassador_active=FALSE";
  227. mysql_query($query);
  228. //set active ambassador
  229. $query = "UPDATE ambassador SET ambassador_active=TRUE WHERE ambassador_fb_id IN ($ambassador_fb_ids)";
  230. mysql_query($query);
  231. }
  232. function getAmbassador($ambassador_fb_id) {
  233. //check with DB
  234. if (!$con) Helper::connectDB();
  235. $query = "SELECT * FROM ambassador WHERE ambassador_fb_id = '$ambassador_fb_id'";
  236. $result = mysql_query($query);
  237. $obj = mysql_fetch_object($result);
  238. return $obj;
  239. }
  240. //from active ambassador
  241. function getAllPost() {
  242. //check with DB
  243. if (!$con) Helper::connectDB();
  244. $query = "SELECT p.*,a.ambassador_fb_id,a.ambassador_name,a.ambassador_active FROM post p,ambassador a WHERE p.ambassador_fb_id = a.ambassador_fb_id AND a.ambassador_active=1 ORDER by p.post_time DESC;";
  245. $result = mysql_query($query);
  246. $array = array();
  247. while($row = mysql_fetch_object($result)){
  248. array_push($array, $row);
  249. }
  250. mysql_free_result($result);
  251. return $array;
  252. }
  253. function getPost($ambassador_fb_id) {
  254. //check with DB
  255. if (!$con) Helper::connectDB();
  256. $query = "SELECT * FROM post WHERE ambassador_fb_id = '$ambassador_fb_id' ORDER by post_time DESC";
  257. $result = mysql_query($query);
  258. $array = array();
  259. while($row = mysql_fetch_object($result)){
  260. array_push($array, $row);
  261. }
  262. mysql_free_result($result);
  263. return $array;
  264. }
  265. function getSpecificPost($post_id) {
  266. //check with DB
  267. if (!$con) Helper::connectDB();
  268. $query = "SELECT p.*,a.ambassador_fb_id,a.ambassador_name,a.ambassador_active FROM post p,ambassador a WHERE p.ambassador_fb_id = a.ambassador_fb_id AND p.id= '$post_id'";
  269. $result = mysql_query($query);
  270. $obj = mysql_fetch_object($result);
  271. return $obj;
  272. }
  273. function checkUploadLimit($ambassador_fb_id) {
  274. $start_date = strtotime(Configuration::start_date . " 00:00:00");
  275. $today = mktime(0,0,0,date('m'),date('d'),date('Y'));
  276. $dif = $today - $start_date;
  277. //check in which week
  278. $week = ceil($dif/(7*24*3600));
  279. //1week = 7*24*3600
  280. $start_week = $start_date + ( ($week-1) * (7*24*3600));
  281. $end_week = $start_date + ( $week * (7*24*3600));
  282. //convert to YYYY-mm-dd
  283. $start_week = date('Y-m-d', $start_week);
  284. $end_week = date('Y-m-d', $end_week);
  285. $query = "SELECT COUNT(*) FROM post WHERE ambassador_fb_id='$ambassador_fb_id' AND post_time > '$start_week' AND post_time < '$end_week'";
  286. $result = mysql_query($query);
  287. $row = mysql_fetch_row($result);
  288. if(intval($row[0]) < 2) return true;
  289. return false;
  290. }
  291. //YOUTUBE ONLY!
  292. function extractVideoCode($video_link) {
  293. $video = explode("?v=",$video_link);
  294. //remove string other than code
  295. $video_code = explode("&",$video[1]);
  296. return $video_code[0];
  297. }
  298. function saveVideoUrl($ambassador_fb_id,$title,$video_link,$post_id="") {
  299. //check with DB
  300. if (!$con) Helper::connectDB();
  301. if(empty($post_id)) {
  302. $query = "INSERT INTO post (ambassador_fb_id,post_type,post_content,post_time,post_title) VALUES ('$ambassador_fb_id',
  303. 'video','$video_link',NOW(),'$title')";
  304. mysql_query($query);
  305. }
  306. else {
  307. $query = "UPDATE post SET post_type='video', post_content='$video_link', post_title='$title' WHERE ambassador_fb_id='$ambassador_fb_id' AND id='$post_id'";
  308. mysql_query($query);
  309. }
  310. }
  311. function saveText($ambassador_fb_id,$title,$msg,$post_id="") {
  312. //check with DB
  313. if (!$con) Helper::connectDB();
  314. if(empty($post_id)) {
  315. $query = "INSERT INTO post (ambassador_fb_id,post_type,post_content,post_time,post_title) VALUES ('$ambassador_fb_id',
  316. 'text','$msg',NOW(),'$title')";
  317. mysql_query($query);
  318. }
  319. else {
  320. $query = "UPDATE post SET post_type='text', post_content='$msg', post_title='$title' WHERE ambassador_fb_id='$ambassador_fb_id' AND id='$post_id'";
  321. mysql_query($query);
  322. }
  323. }
  324. function saveImage($ambassador_fb_id,$title,$post_id="") {
  325. $extension = strtolower(substr(strrchr($_FILES['img']['name'], '.'), 1));
  326. //allowed extension
  327. if (($extension!= "jpg") && ($extension != "jpeg") && ($extension!= "png"))
  328. return "Unknown extension";
  329. //check file exist/not
  330. $now = time(); //added timestamp to avoid cache
  331. $image_name = $ambassador_fb_id . "_$now." . $extension;
  332. $dir_path = "./upload_images/" . $image_name;
  333. $action = move_uploaded_file($_FILES['img']['tmp_name'], $dir_path);
  334. if (!$action) return 'Failed Uploading';
  335. //create thumbnail
  336. $img = new SimpleImage();
  337. $img->load($dir_path);
  338. //$img->resizeToWidth(50);
  339. //$img->resizeToHeight(50);
  340. $img->resizeAndCrop(150,150);
  341. //$img->resizeAndFill(180,190);
  342. $img->save('./thumbnails/'.$image_name);
  343. //save to db
  344. //check with DB
  345. if (!$con) Helper::connectDB();
  346. if(empty($post_id)) {
  347. $query = "INSERT INTO post (ambassador_fb_id,post_type,post_content,post_time,post_title) VALUES ('$ambassador_fb_id',
  348. 'image','$image_name',NOW(),'$title')";
  349. mysql_query($query);
  350. }
  351. else {
  352. $query = "UPDATE post SET post_type='image', post_content='$image_name', post_title='$title' WHERE ambassador_fb_id='$ambassador_fb_id' AND id='$post_id'";
  353. mysql_query($query);
  354. }
  355. }
  356. function getActiveLink() {
  357. //check with DB
  358. if (!$con) Helper::connectDB();
  359. $query = "SELECT * FROM active_link";
  360. $result = mysql_query($query);
  361. $row = mysql_fetch_row($result);
  362. return $row[0];
  363. }
  364. function setActiveLink($active_link) {
  365. //check with DB
  366. if (!$con) Helper::connectDB();
  367. $query = "UPDATE active_link SET active=$active_link";
  368. $result = mysql_query($query);
  369. }
  370. function saveComment($fb_id,$fb_name,$post_id,$content) {
  371. //check with DB
  372. if (!$con) Helper::connectDB();
  373. $query = "INSERT INTO comments (fb_id,fb_name,post_id,comment_content,comment_time) VALUES ('$fb_id','$fb_name','$post_id','$content',NOW())";
  374. mysql_query($query);
  375. $result = '<li class="comment_content" style="color:white"><span class="comment_by">'.$fb_name.' says</span><span class="comment_by" style="float:right"></span><p>'.$content.'</p></li>';
  376. return $result;
  377. }
  378. function getComments($post_id) {
  379. //check with DB
  380. if (!$con) Helper::connectDB();
  381. if(empty($post_id)) {}
  382. $query = "SELECT *,DATE_FORMAT(comment_time, '%d-%m-%Y %H:%i') as newdate FROM comments";
  383. if(!empty($post_id))
  384. $query .= " WHERE post_id = '$post_id'";
  385. $query .=" ORDER by comment_time DESC";
  386. $result = mysql_query($query);
  387. $array = array();
  388. while($row = mysql_fetch_object($result)){
  389. array_push($array, $row);
  390. }
  391. mysql_free_result($result);
  392. return $array;
  393. }
  394. function checkAmbassadorActive($post_id) {
  395. //check with DB
  396. if (!$con) Helper::connectDB();
  397. $query = "SELECT a.ambassador_active FROM post p,ambassador a WHERE a.ambassador_fb_id=p.ambassador_fb_id AND p.id='$post_id'";
  398. $result = mysql_query($query);
  399. $row = mysql_fetch_row($result);
  400. if($row[0] == 1) return true;
  401. return false;
  402. }
  403. function deleteComment($comment_id) {
  404. //check with DB
  405. if (!$con) Helper::connectDB();
  406. $query = "DELETE FROM comments WHERE id='$comment_id'";
  407. mysql_query($query);
  408. }
  409. function updateComment($comment_id,$content) {
  410. //check with DB
  411. if (!$con) Helper::connectDB();
  412. $query = "UPDATE comments SET comment_content='$content' WHERE id = '$comment_id'";
  413. mysql_query($query);
  414. }
  415. //save image from for tinymce
  416. function uploadImage() {
  417. $extension = strtolower(substr(strrchr($_FILES['img']['name'], '.'), 1));
  418. //allowed extension
  419. if (($extension!= "jpg") && ($extension != "jpeg") && ($extension!= "png"))
  420. return "Unknown extension";
  421. //check file exist/not
  422. $now = time(); //added timestamp to avoid cache
  423. $image_name = $now ."_". $_FILES['img']['name'];
  424. $dir_path = "./upload_images/" . $image_name;
  425. $action = move_uploaded_file($_FILES['img']['tmp_name'], $dir_path);
  426. if (!$action) return 'Failed Uploading';
  427. //create thumbnail
  428. $img = new SimpleImage();
  429. $img->load($dir_path);
  430. //$img->resizeToWidth(100);
  431. //$img->resizeToHeight(100);
  432. //$img->resizeAndCrop(100,100);
  433. $img->resizeAndFill(120,120);
  434. $img->save('./thumbnails/'.$image_name);
  435. }
  436. function sendMail($to,$from,$subject,$message,$header="") {
  437. $headers = "From: $from" . "\r\n" . $header;
  438. return mail($to, $subject, $message, $headers);
  439. }
  440. }
  441. ?>