Changeset 589800
- Timestamp:
- 08/24/2012 02:18:49 PM (14 years ago)
- Location:
- wp-meetup-activity/trunk
- Files:
-
- 3 edited
-
default.css (modified) (1 diff)
-
readme.txt (modified) (1 diff)
-
wp-meetup-activity.php (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-meetup-activity/trunk/default.css
r588826 r589800 1 .wpmeetupactivity-icon { 2 vertical-align: middle; 3 border: 0px; 4 padding: 2px; 5 } 1 6 2 7 .wpmeetupactivity-setup-fieldset { -
wp-meetup-activity/trunk/readme.txt
r589202 r589800 39 39 == Changelog == 40 40 41 = 0.1.2 = 42 * 43 41 44 = 0.1.1 = 42 45 * Fixed bug on ranking -
wp-meetup-activity/trunk/wp-meetup-activity.php
r589202 r589800 4 4 Plugin URI: http://www.zerozone.it/wordpress-meetup-plugin/ 5 5 Description: Display group activity from Meetup.com in a widget for your wordpress 6 Version: 0.1. 16 Version: 0.1.2 7 7 Author: Michele "O-Zone" Pinassi 8 8 Author URI: http://www.zerozone.it/ … … 24 24 */ 25 25 26 include(dirname(__FILE__) . DIRECTORY_SEPARATOR . "meetup_api/Meetup.php"); 27 26 /* Meetup API */ 27 include(dirname(__FILE__).DIRECTORY_SEPARATOR."meetup_api/Meetup.php"); 28 29 /* Facebook PHP SDK */ 30 require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'facebook-sdk/facebook.php'); 28 31 29 32 add_option('wpmeetupactivity_apikey', '', '', 'yes'); … … 32 35 add_action('plugins_loaded', 'wpmeetupactivity_update_db_check'); 33 36 add_action('init', 'wpmeetupactivity_register_styles'); 37 add_action('init', 'wpmeetupactivity_fb_init'); 34 38 35 39 register_activation_hook(__FILE__,'wpmeetupactivity_install'); … … 38 42 global $wpdb; 39 43 40 define(WP_MEETUP_ACTIVITY,'0.1. 1');44 define(WP_MEETUP_ACTIVITY,'0.1.2'); 41 45 define(WP_MEETUP_ACTIVITY_TABLE, $wpdb->prefix."meetup_activity"); 42 46 … … 179 183 if(intval($messageId) > intval($result['message_id'])) { 180 184 /* Update ! */ 181 $ranking = $result['ranking']; /* Min val=0 Max val=1 */185 $ranking = $result['ranking']; 182 186 $tdelta = $result['tdelta']; 183 184 $ranking += (1/$tdelta); 185 186 $wpdb->query($wpdb->prepare("UPDATE ".WP_MEETUP_ACTIVITY_TABLE."_act SET message_id=%d,author=%s,ranking=%f,chg_date=NOW() WHERE group_id=$groupId AND thread_id=$threadId;",$messageId,$act['member_name'],$ranking)); 187 if($tdelta > 0) { 188 $ranking += (1/$tdelta); 189 } 190 191 $wpdb->query($wpdb->prepare("UPDATE ".WP_MEETUP_ACTIVITY_TABLE."_act SET message_id=%d,author=%s,ranking=%f,item_type=%s,chg_date=NOW() WHERE group_id=$groupId AND thread_id=$threadId;",$messageId,$act['member_name'],$ranking,$act['item_type'])); 187 192 } 188 193 } else { 189 /* Add new thread row */190 $wpdb->query($wpdb->prepare("INSERT INTO ".WP_MEETUP_ACTIVITY_TABLE."_act (group_id, thread_id, message_id, author, item_type, item_title, item_url, ranking, chg_date, add_date) VALUES ( %d, %d, %d, %s, %s, %s, %s, 0, NOW(), NOW())", $groupId, $threadId, $messageId, $act['member_name'], $act['item_type'], $act['discussion_title'], $act['link']));194 /* Add new thread row - Ranking: 1 */ 195 $wpdb->query($wpdb->prepare("INSERT INTO ".WP_MEETUP_ACTIVITY_TABLE."_act (group_id, thread_id, message_id, author, item_type, item_title, item_url, ranking, chg_date, add_date) VALUES ( %d, %d, %d, %s, %s, %s, %s, 1, NOW(), NOW())", $groupId, $threadId, $messageId, $act['member_name'], $act['item_type'], $act['discussion_title'], $act['link'])); 191 196 } 192 197 } 193 198 } 194 199 } 200 // Degrade ranking for older items 201 $wpdb->query($wpdb->prepare("UPDATE ".WP_MEETUP_ACTIVITY_TABLE."_act SET ranking=ranking-0.1 WHERE DATEDIFF(NOW(),chg_date) > 7;")); 195 202 } catch (Exception $e) { 196 203 echo "Meetup API error: $e"; … … 222 229 } 223 230 231 function wpmeetupactivity_get_plugin_dir($type='url') { 232 if ( !defined('WP_CONTENT_URL') ) 233 define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); 234 if ( !defined('WP_CONTENT_DIR') ) 235 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); 236 if ($type=='path') { return WP_CONTENT_DIR.'/plugins/'.plugin_basename(dirname(__FILE__)); } 237 else { return WP_CONTENT_URL.'/plugins/'.plugin_basename(dirname(__FILE__)); } 238 239 } 240 224 241 function wpmeetupactivity_widget($args) { 225 242 global $wpdb; … … 237 254 $myPrefs = get_option('wpmeetupactivity_prefs'); 238 255 256 $orderBy = $myPrefs['orderBy']; 257 if(empty($orderBy)) { 258 $orderBy = 'add_date'; 259 } 260 239 261 if(count($groupsArray) > 0) { 240 $activities = $wpdb->get_results("SELECT * FROM ".WP_MEETUP_ACTIVITY_TABLE."_act ORDER BY ranking,chg_dateDESC;",ARRAY_A);262 $activities = $wpdb->get_results("SELECT * FROM ".WP_MEETUP_ACTIVITY_TABLE."_act ORDER BY ".$orderBy." DESC;",ARRAY_A); 241 263 242 264 if($activities) { … … 257 279 */ 258 280 $title = wpmeetupactivity_stripbbcode($act["item_title"]); 259 echo "<li><a href='".$act["item_url"]."'"; 281 echo "<li>"; 282 if($act['ranking'] > 1) { /* Hot topic ! */ 283 echo "<img src='".wpmeetupactivity_get_plugin_dir()."/img/hot.png' class='wpmeetupactivity-icon'>"; 284 } else if($act['item_type'] == 'new_discussion') { 285 echo "<img src='".wpmeetupactivity_get_plugin_dir()."/img/new.png' class='wpmeetupactivity-icon'>"; 286 } else { 287 echo "<img src='".wpmeetupactivity_get_plugin_dir()."/img/reply.png' class='wpmeetupactivity-icon'>"; 288 } 289 290 echo "<a href='".$act["item_url"]."'"; 260 291 if($myPrefs["openInNewWindow"]) { 261 292 echo " target='_new'"; … … 314 345 } 315 346 316 347 /* 348 349 Facebook functions for auto-post of new threads on FB page 350 351 */ 352 353 354 function wpmeetupactivity_fb_posttopage($message,$title,$link,$tags,$description='') { 355 global $facebook; 356 357 $options = get_option('wpmeetupactivity_fb_options'); 358 359 360 } 361 362 function wpmeetupactivity_fb_getuserpages() { 363 global $facebook; 364 365 $options = get_option('wpmeetupactivity_fb_options'); 366 367 $accounts = array(); 368 369 if ( ! isset( $facebook ) ) 370 return $accounts; 371 372 $facebook->setAccessToken($options['access_token']); 373 374 try { 375 $accounts = $facebook->api('/me/accounts', 'GET', array('ref' => 'fbwpp')); 376 } catch (FacebookApiException $e) { 377 echo $e; 378 return $accounts; 379 } 380 381 return $accounts['data']; 382 } 383 384 385 function wpmeetupactivity_fb_init() { 386 global $facebook; 387 388 $options = get_option('wpmeetupactivity_fb_options'); 389 390 // appId and secret are required by BaseFacebook 391 if ( ( ! empty( $options['app_id'] ) && ! empty( $options['app_secret'] ) ) ) { 392 $facebook = new Facebook(array( 393 'appId' => $options['app_id'], 394 'secret' => $options['app_secret'], 395 )); 396 397 $options['access_token'] = $facebook->getAccessToken(); 398 399 update_option('wpmeetupactivity_fb_options',$options); 400 } 401 } 402 403 /* 404 405 WP-Meetup-Activity options page 406 407 */ 317 408 function wpmeetupactivity_plugin_options() { 318 409 global $wpdb; 410 global $facebook; 319 411 320 412 load_plugin_textdomain($wpmeetupactivity_textdomain, PLUGINDIR . '/' . dirname(plugin_basename(__FILE__)), dirname(plugin_basename(__FILE__))); … … 355 447 356 448 $myPrefs["displayAct"] = intval($_POST["wpmeetupactivity_prefs_displayact"]); 449 $myPrefs["orderBy"] = intval($_POST["wpmeetupactivity_prefs_orderby"]); 357 450 358 451 // Salva opzioni … … 361 454 update_option('wpmeetupactivity_groups',$myGroups); 362 455 update_option('wpmeetupactivity_prefs',$myPrefs); 456 457 // FB options 458 459 $fb_options['app_id'] = $_POST['wpmeetupactivity_fb_appid']; 460 $fb_options['app_secret'] = $_POST['wpmeetupactivity_fb_appsecret']; 461 462 update_option('wpmeetupactivity_fb_options',$fb_options); 463 464 // Saved ! 363 465 364 466 echo "<div class=\"updated\"><p><strong>"; … … 453 555 </select> 454 556 </p> 557 <p> 558 Order activities by: <select name='wpmeetupactivity_prefs_orderby'> 559 <option value='add_date' ".wpmeetupactivity_is_selected($myPrefs["orderBy"],'add_date').">Add date</option> 560 <option value='chg_date' ".wpmeetupactivity_is_selected($myPrefs["orderBy"],'chg_date').">Change date</option> 561 <option value='ranking' ".wpmeetupactivity_is_selected($myPrefs["orderBy"],'ranking').">Ranking</option> 562 </select> 563 </p> 564 565 </fieldset>"; 566 567 $fb_options = get_option('wpmeetupactivity_fb_options'); 568 569 echo "<fieldset class='wpmeetupactivity-setup-fieldset'><legend> Facebook settings </legend>"; 570 571 if ((empty($fb_options['app_id']) || empty($fb_options['app_secret'])) && current_user_can( 'manage_options' ) ) { 572 echo "<div class=\"error\"><p><strong>"; 573 echo __('Need to configure Facebook Setting to use the post to page function !', $wpmeetupactivity_textdomain); 574 echo "</strong></p></div>"; 575 } else { 576 $user = $facebook->getUser(); 577 578 if ($user) { 579 try { 580 // Proceed knowing you have a logged in user who's authenticated. 581 echo "<b>User: ".$facebook->api('/me')."</b><br/>"; 582 } catch (FacebookApiException $e) { 583 echo $e; 584 } 585 } else { 586 $params = array( 'scope' => 'read_stream, friends_likes, publish_stream, offline_access' ); 587 echo "<a href='".$facebook->getLoginUrl($params)."'>Connect with Facebook App</a>"; 588 } 589 590 print_r(wpmeetupactivity_fb_getuserpages()); 591 } 592 echo " 593 <p> 594 App Id: <input type='text' size='64' name='wpmeetupactivity_fb_appid' value='".$fb_options['app_id']."' /> 595 </p> 596 <p> 597 App Secret: <input type='text' size='128' name='wpmeetupactivity_fb_appsecret' value='".$fb_options['app_secret']."' /> 598 </p> 599 <p> 600 Access Token is <b>".$fb_options['access_token']."</b> 601 </p> 455 602 </fieldset> 456 603 <p class='submit'><input type='submit' name='Submit' value='Save changes' /></p> 457 604 </form> 458 605 </div><!-- /WRAP -->"; 606 459 607 } 460 608
Note: See TracChangeset
for help on using the changeset viewer.