From 03b6a342ad4db46f7b9db700c766f5f1fbcdbe69 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 13 Jul 2012 15:46:22 +0000 Subject: [PATCH] git-svn-id: https://192.168.0.254/svn/Proyectos.ASong2U_Web/trunk@5 cd1a4ea2-8c7f-e448-aada-19d1fee9e1d6 --- .../plugins/bp-dedication/dedication.php | 63 ++- .../plugins/bp-dedication/functions.php | 2 +- .../includes/bp-dedication-ajax.php | 109 ++++ .../includes/bp-dedication-classes.php | 50 ++ ...hp => bp-dedication-create-dedication.php} | 29 +- .../includes/bp-dedication-screens.php | 134 +---- .../includes/css/bp-dedication.css | 76 +++ .../includes/css/img/loading.gif | Bin 0 -> 673 bytes .../bp-dedication/includes/css/img/shadow.png | Bin 0 -> 3403 bytes .../includes/css/img/thumbnail.jpg | Bin 0 -> 1097 bytes .../includes/js/dedication-script.js | 102 ++++ .../includes/js/jquery.jyoutube.js.js | 33 ++ .../includes/js/jquery.validate.min.js | 51 ++ .../dedication-from-site.class.php | 515 ++++++++++++++++++ .../includes/jquery.MultiFile.pack.js | 11 + .../includes/jquery.autocomplete-min.js | 11 + .../includes}/jquery.autocomplete.js | 0 .../includes}/minimal.css | 0 .../includes}/pfs-script.bak.js | 0 .../includes}/pfs-script.js | 0 .../includes}/twentyeleven.css | 0 .../dedication-from-site/pfs-submit.php | 202 +++++++ .../dedication-from-site/pfs-widget.php | 82 +++ .../plugins/dedication-from-site/readme.txt | 88 +++ .../dedication-from-site/recaptchalib.php | 277 ++++++++++ .../dedication-from-site/screenshot-1.png | Bin 0 -> 23617 bytes .../plugins/dedication-from-site/search.php | 48 ++ .../plugins/invite-anyone/invite-anyone.php | 2 +- .../plugins/youtube-to-wp-post/readme.txt | 53 -- .../youtube-to-wp-post/screenshot-1.jpg | Bin 26062 -> 0 bytes .../youtube-to-wp-post/screenshot-2.jpg | Bin 24429 -> 0 bytes .../youtube-to-wp-post/screenshot-3.jpg | Bin 21742 -> 0 bytes .../youtube-to-wp-post/youtube-post.php | 87 --- .../plugins/youtube-to-wp-post/yp-admin.php | 193 ------- wp-content/themes/score/dedication/index.php | 157 ------ .../score/dedication/new-dedication.php | 92 ---- wp-content/themes/score/dedications/index.php | 62 +++ .../dedications/single/dedicated-2-me.php | 40 ++ .../dedications/single/my-dedications.php | 40 ++ .../dedications/single/new-dedication.php | 74 +++ wp-content/themes/score/functions.php | 4 +- wp-content/themes/score/header.php | 7 +- .../themes/score/loop-dedication-data.php | 2 +- .../themes/score/members/single/home.php | 12 +- .../themes/score/members/single/plugins.php | 17 +- .../single/settings/delete-account.php | 16 +- .../score/members/single/settings/general.php | 13 +- .../members/single/settings/notifications.php | 13 +- .../themes/score/post-loop-dedication.php | 4 +- .../themes/score/sidebar-buddypress.php | 19 +- wp-content/themes/score/style-asong2u.css | 32 +- wp-content/themes/score/video-slider.php | 9 +- wp-content/uploads/2012/06/021-100x75.jpg | Bin 0 -> 2702 bytes wp-content/uploads/2012/06/031-100x75.jpg | Bin 0 -> 2904 bytes .../230260478_2006-e1341519685994-100x75.jpg | Bin 0 -> 3741 bytes .../230260478_2006-e1341519685994-200x150.jpg | Bin 0 -> 9248 bytes wp-content/uploads/2012/07/0-100x75.jpg | Bin 0 -> 3058 bytes wp-content/uploads/2012/07/08-150x100.jpg | Bin 0 -> 4892 bytes wp-content/uploads/2012/07/08-150x150.jpg | Bin 0 -> 5422 bytes wp-content/uploads/2012/07/08-200x200.jpg | Bin 0 -> 7903 bytes wp-content/uploads/2012/07/08-300x225.jpg | Bin 0 -> 11874 bytes wp-content/uploads/2012/07/08-400x300.jpg | Bin 0 -> 17247 bytes wp-content/uploads/2012/07/08.jpg | Bin 0 -> 9775 bytes wp-content/uploads/2012/07/09-100x75.jpg | Bin 0 -> 2702 bytes wp-content/uploads/2012/07/09-150x100.jpg | Bin 0 -> 4738 bytes wp-content/uploads/2012/07/09-150x150.jpg | Bin 0 -> 5902 bytes wp-content/uploads/2012/07/09-200x150.jpg | Bin 0 -> 7431 bytes wp-content/uploads/2012/07/09-200x200.jpg | Bin 0 -> 9115 bytes wp-content/uploads/2012/07/09-280x210.jpg | Bin 0 -> 12547 bytes wp-content/uploads/2012/07/09-300x225.jpg | Bin 0 -> 14113 bytes wp-content/uploads/2012/07/09-400x300.jpg | Bin 0 -> 21587 bytes wp-content/uploads/2012/07/09.jpg | Bin 0 -> 13262 bytes .../uploads/2012/07/177110469_6401-100x56.jpg | Bin 0 -> 3080 bytes .../2012/07/177110469_6401-200x112.jpg | Bin 0 -> 7132 bytes 74 files changed, 2032 insertions(+), 799 deletions(-) create mode 100644 wp-content/plugins/bp-dedication/includes/bp-dedication-ajax.php create mode 100644 wp-content/plugins/bp-dedication/includes/bp-dedication-classes.php rename wp-content/plugins/bp-dedication/includes/{create-dedication.php => bp-dedication-create-dedication.php} (86%) create mode 100644 wp-content/plugins/bp-dedication/includes/css/bp-dedication.css create mode 100644 wp-content/plugins/bp-dedication/includes/css/img/loading.gif create mode 100644 wp-content/plugins/bp-dedication/includes/css/img/shadow.png create mode 100644 wp-content/plugins/bp-dedication/includes/css/img/thumbnail.jpg create mode 100644 wp-content/plugins/bp-dedication/includes/js/dedication-script.js create mode 100644 wp-content/plugins/bp-dedication/includes/js/jquery.jyoutube.js.js create mode 100644 wp-content/plugins/bp-dedication/includes/js/jquery.validate.min.js create mode 100644 wp-content/plugins/dedication-from-site/dedication-from-site.class.php create mode 100644 wp-content/plugins/dedication-from-site/includes/jquery.MultiFile.pack.js create mode 100644 wp-content/plugins/dedication-from-site/includes/jquery.autocomplete-min.js rename wp-content/plugins/{bp-dedication/includes/js => dedication-from-site/includes}/jquery.autocomplete.js (100%) rename wp-content/plugins/{bp-dedication/includes/css => dedication-from-site/includes}/minimal.css (100%) rename wp-content/plugins/{bp-dedication/includes/js => dedication-from-site/includes}/pfs-script.bak.js (100%) rename wp-content/plugins/{bp-dedication/includes/js => dedication-from-site/includes}/pfs-script.js (100%) rename wp-content/plugins/{bp-dedication/includes/css => dedication-from-site/includes}/twentyeleven.css (100%) create mode 100644 wp-content/plugins/dedication-from-site/pfs-submit.php create mode 100644 wp-content/plugins/dedication-from-site/pfs-widget.php create mode 100644 wp-content/plugins/dedication-from-site/readme.txt create mode 100644 wp-content/plugins/dedication-from-site/recaptchalib.php create mode 100644 wp-content/plugins/dedication-from-site/screenshot-1.png create mode 100644 wp-content/plugins/dedication-from-site/search.php delete mode 100644 wp-content/plugins/youtube-to-wp-post/readme.txt delete mode 100644 wp-content/plugins/youtube-to-wp-post/screenshot-1.jpg delete mode 100644 wp-content/plugins/youtube-to-wp-post/screenshot-2.jpg delete mode 100644 wp-content/plugins/youtube-to-wp-post/screenshot-3.jpg delete mode 100644 wp-content/plugins/youtube-to-wp-post/youtube-post.php delete mode 100644 wp-content/plugins/youtube-to-wp-post/yp-admin.php delete mode 100644 wp-content/themes/score/dedication/index.php delete mode 100644 wp-content/themes/score/dedication/new-dedication.php create mode 100644 wp-content/themes/score/dedications/index.php create mode 100644 wp-content/themes/score/dedications/single/dedicated-2-me.php create mode 100644 wp-content/themes/score/dedications/single/my-dedications.php create mode 100644 wp-content/themes/score/dedications/single/new-dedication.php create mode 100644 wp-content/uploads/2012/06/021-100x75.jpg create mode 100644 wp-content/uploads/2012/06/031-100x75.jpg create mode 100644 wp-content/uploads/2012/06/230260478_2006-e1341519685994-100x75.jpg create mode 100644 wp-content/uploads/2012/06/230260478_2006-e1341519685994-200x150.jpg create mode 100644 wp-content/uploads/2012/07/0-100x75.jpg create mode 100644 wp-content/uploads/2012/07/08-150x100.jpg create mode 100644 wp-content/uploads/2012/07/08-150x150.jpg create mode 100644 wp-content/uploads/2012/07/08-200x200.jpg create mode 100644 wp-content/uploads/2012/07/08-300x225.jpg create mode 100644 wp-content/uploads/2012/07/08-400x300.jpg create mode 100644 wp-content/uploads/2012/07/08.jpg create mode 100644 wp-content/uploads/2012/07/09-100x75.jpg create mode 100644 wp-content/uploads/2012/07/09-150x100.jpg create mode 100644 wp-content/uploads/2012/07/09-150x150.jpg create mode 100644 wp-content/uploads/2012/07/09-200x150.jpg create mode 100644 wp-content/uploads/2012/07/09-200x200.jpg create mode 100644 wp-content/uploads/2012/07/09-280x210.jpg create mode 100644 wp-content/uploads/2012/07/09-300x225.jpg create mode 100644 wp-content/uploads/2012/07/09-400x300.jpg create mode 100644 wp-content/uploads/2012/07/09.jpg create mode 100644 wp-content/uploads/2012/07/177110469_6401-100x56.jpg create mode 100644 wp-content/uploads/2012/07/177110469_6401-200x112.jpg diff --git a/wp-content/plugins/bp-dedication/dedication.php b/wp-content/plugins/bp-dedication/dedication.php index f43923f..5c056f1 100644 --- a/wp-content/plugins/bp-dedication/dedication.php +++ b/wp-content/plugins/bp-dedication/dedication.php @@ -2,28 +2,28 @@ function bp_dedication_add_js() { global $bp; - - if ($bp->current_action == BP_DEDICATION_SLUG || ( isset($bp->action_variables[1]) && $bp->action_variables[1] == BP_DEDICATION_SLUG )) { + if (bp_is_dedication_component() && bp_is_current_action('new-dedication')) { + wp_enqueue_script('jquery-validate-js', plugins_url("includes/js/jquery.validate.min.js", __FILE__), array('jquery')); wp_enqueue_script('jquery-autocomplete-js', plugins_url("includes/js/jquery.autocomplete-min.js", __FILE__), array('jquery')); - /* wp_enqueue_script('invite-anyone-autocomplete-js', WP_PLUGIN_URL . '/invite-anyone/group-invites/jquery.autocomplete/jquery.autocomplete-min.js', array('jquery')); - wp_register_script('invite-anyone-js', WP_PLUGIN_URL . '/invite-anyone/group-invites/group-invites-js.js', array('invite-anyone-autocomplete-js')); - wp_enqueue_script('invite-anyone-js'); */ + wp_enqueue_script('jquery-jyoutube-js', plugins_url("includes/js/jquery.jyoutube.js", __FILE__), array('jquery')); + wp_register_script('dedication-js', plugins_url("includes/js/dedication-script.js", __FILE__), array('jquery-autocomplete-js', 'jquery-jyoutube-js')); + + wp_localize_script('dedication-js', 'script_vars', array( + 'source_url' => plugins_url("includes/bp-dedication-search-members.php", __FILE__) + ) + ); + + wp_enqueue_script('dedication-js'); } } add_action('wp_head', 'bp_dedication_add_js', 1); -function bp_dedication_css() { +function bp_dedication_add_css() { global $bp; - - if ($bp->current_action == BP_DEDICATION_SLUG || ( isset($bp->action_variables[1]) && $bp->action_variables[1] == BP_DEDICATION_SLUG )) { - /* $style_url = WP_PLUGIN_URL . '/invite-anyone/group-invites/group-invites-css.css'; - $style_file = WP_PLUGIN_DIR . '/invite-anyone/group-invites/group-invites-css.css'; - - if (file_exists($style_file)) { - wp_register_style('invite-anyone-group-invites-style', $style_url); - wp_enqueue_style('invite-anyone-group-invites-style'); - } */ + if (bp_is_dedication_component() && bp_is_current_action('new-dedication')) { + wp_register_style('bp-dedication-style', plugins_url("includes/css/bp-dedication.css", __FILE__)); + wp_enqueue_style('bp-dedication-style'); } } @@ -82,15 +82,17 @@ class BP_Dedication extends BP_Component { // Files to include $includes = array( - 'includes/create-dedication.php', + 'includes/bp-dedication-create-dedication.php', 'includes/bp-dedication-screens.php', 'includes/bp-dedication-activity.php', - 'includes/bp-example-functions.php', + 'includes/bp-dedication-functions.php', + 'includes/bp-dedication-classes.php', + 'includes/bp-dedication-ajax.php', /* 'includes/bp-example-filters.php', - 'includes/bp-example-classes.php', + 'includes/bp-example-template.php', - + 'includes/bp-example-notifications.php', 'includes/bp-example-widgets.php', 'includes/bp-example-cssjs.php', @@ -113,8 +115,8 @@ class BP_Dedication extends BP_Component { 'default_subnav_slug' => 'my-dedications' ); - $dedication_link = trailingslashit(bp_loggedin_user_domain() . bp_get_dedication_slug()); - + $dedication_link = trailingslashit(bp_displayed_user_domain() . bp_get_dedication_slug()); + // Add a few subnav items under the main Example tab $sub_nav[] = array( 'name' => __('My dedications', 'bp-dedication'), @@ -135,15 +137,16 @@ class BP_Dedication extends BP_Component { 'position' => 20 ); - // Add the subnav items to the friends nav item - $sub_nav[] = array( - 'name' => __('New dedication', 'bp-dedication'), - 'slug' => 'new-dedication', - 'parent_url' => $dedication_link, - 'parent_slug' => bp_get_dedication_slug(), - 'screen_function' => 'bp_dedication_new_dedication', - 'position' => 30 - ); + if (bp_displayed_user_id() == bp_loggedin_user_id()) { + $sub_nav[] = array( + 'name' => __('New dedication', 'bp-dedication'), + 'slug' => 'new-dedication', + 'parent_url' => $dedication_link, + 'parent_slug' => bp_get_dedication_slug(), + 'screen_function' => 'bp_dedication_new_dedication', + 'position' => 30 + ); + } parent::setup_nav($main_nav, $sub_nav); //parent::setup_nav( $main_nav ); diff --git a/wp-content/plugins/bp-dedication/functions.php b/wp-content/plugins/bp-dedication/functions.php index 79245b7..ef71f2a 100644 --- a/wp-content/plugins/bp-dedication/functions.php +++ b/wp-content/plugins/bp-dedication/functions.php @@ -18,7 +18,7 @@ function bp_dedication_get_dedications_from_user( $user_id ) { $args = array( 'numberposts' => -1, - 'category' => 'dedication', + 'category' => get_cat_id('dedication'), 'author' => $user_id ); $posts_array = get_posts( $args ); diff --git a/wp-content/plugins/bp-dedication/includes/bp-dedication-ajax.php b/wp-content/plugins/bp-dedication/includes/bp-dedication-ajax.php new file mode 100644 index 0000000..c610fc7 --- /dev/null +++ b/wp-content/plugins/bp-dedication/includes/bp-dedication-ajax.php @@ -0,0 +1,109 @@ + $_REQUEST['query'], + 'data' => array(), + 'suggestions' => array() + ); + + $users = bp_dedication_members_query( $_REQUEST['query'] ); + + if ( $users ) { + $suggestions = array(); + $data = array(); + + foreach ( $users as $user ) { + $suggestions[] = $user->display_name . ' (' . $user->user_login . ')'; + $data[] = $user->ID; + } + + $return['suggestions'] = $suggestions; + $return['data'] = $data; + } + + echo json_encode( $return ); +} +add_action( 'wp_ajax_bp_dedication_autocomplete_ajax_handler', 'bp_dedication_ajax_autocomplete_results' ); + + +function bp_dedication_ajax_add_user() { + global $bp; + + //check_ajax_referer( 'groups_invite_uninvite_user' ); + + if ( !$_POST['friend_id'] || !$_POST['friend_action'] ) + return false; + + if ( 'add' == $_POST['friend_action'] ) { + + $user = new BP_Core_User( $_POST['friend_id'] ); + + echo '
  • '; + echo bp_core_fetch_avatar( array( 'item_id' => $user->id ) ); + echo '

    ' . bp_core_get_userlink( $user->id ) . '

    '; + echo ''; + echo '
  • '; + + } else if ( 'delete' == $_POST['friend_action'] ) { + return true; + } else { + return false; + } +} +add_action( 'wp_ajax_bp_dedication_add_user_ajax_handler', 'bp_dedication_ajax_add_user' ); + + +function bp_dedication_members_query( $search_terms = false ) { + // Get a list of group members to be excluded from the main query + $group_members = array(); + $args = array( + 'exclude_admins_mods' => false + ); + if ( $search_terms ) + $args['search'] = $search_terms; + + $group_members[] = bp_loggedin_user_id(); + + // Now do a user query + // Pass a null blog id so that the capabilities check is skipped. For BP blog_id doesn't + // matter anyway + $user_query = new Bp_Dedication_User_Query( array( 'blog_id' => NULL, 'exclude' => $group_members, 'search' => $search_terms ) ); + + return $user_query->results; +} + +//$oldURL = dirname(__FILE__); +//$newURL = str_replace(DIRECTORY_SEPARATOR . 'wp-content' . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'dedication-from-site', '', $oldURL); +// +//require_once( $newURL . DIRECTORY_SEPARATOR . 'wp-load.php'); +//global $wpdb; +// +//var_dump($_REQUEST); +// +//// if the 'term' variable is not sent with the request, exit +//if (!isset($_REQUEST['term'])) +// exit; +// +//$data = array(); +// +//$wp_user_search = $wpdb->get_results("SELECT ID, display_name, user_email FROM $wpdb->users ORDER BY ID"); +//foreach ($wp_user_search as $userid) { +// $user_id = (int) $userid->ID; +// $display_name = stripslashes($userid->display_name); +// $user_email = stripslashes($userid->user_email); +// +// $data[] = array( +// 'label' => $display_name . ' (' . $user_email . ')', +// 'value' => $user_id +// ); +//} +//// jQuery wants JSON data +//echo json_encode($data); +//flush(); + + diff --git a/wp-content/plugins/bp-dedication/includes/bp-dedication-classes.php b/wp-content/plugins/bp-dedication/includes/bp-dedication-classes.php new file mode 100644 index 0000000..d30979c --- /dev/null +++ b/wp-content/plugins/bp-dedication/includes/bp-dedication-classes.php @@ -0,0 +1,50 @@ +query_where .= ' AND user_status = 0'; + } + + /** + * @see WP_User_Query::get_search_sql() + */ + function get_search_sql($string, $cols, $wild = false) { + $string = esc_sql($string); + + // Always search all columns + $cols = array( + 'user_email', + 'user_login', + 'user_nicename', + 'user_url', + 'display_name' + ); + + // Always do 'both' for trailing_wild + $wild = 'both'; + + $searches = array(); + $leading_wild = ( 'leading' == $wild || 'both' == $wild ) ? '%' : ''; + $trailing_wild = ( 'trailing' == $wild || 'both' == $wild ) ? '%' : ''; + foreach ($cols as $col) { + if ('ID' == $col) + $searches[] = "$col = '$string'"; + else + $searches[] = "$col LIKE '$leading_wild" . like_escape($string) . "$trailing_wild'"; + } + + return ' AND (' . implode(' OR ', $searches) . ') AND user_status = 0'; + } + +} + +?> diff --git a/wp-content/plugins/bp-dedication/includes/create-dedication.php b/wp-content/plugins/bp-dedication/includes/bp-dedication-create-dedication.php similarity index 86% rename from wp-content/plugins/bp-dedication/includes/create-dedication.php rename to wp-content/plugins/bp-dedication/includes/bp-dedication-create-dedication.php index 3cedc1c..5a2a51b 100644 --- a/wp-content/plugins/bp-dedication/includes/create-dedication.php +++ b/wp-content/plugins/bp-dedication/includes/bp-dedication-create-dedication.php @@ -1,4 +1,5 @@ +

    + displayed_user->id ); + if (!locate_template( 'dedications/single/my-dedications.php', true )) { + die(); + } /** * For security reasons, we MUST use the wp_nonce_url() function on any actions. * This will stop naughty people from tricking users into performing actions without their * knowledge or intent. */ - $send_link = wp_nonce_url( $bp->displayed_user->domain . $bp->current_component . '/screen-one/send-h5', 'bp_example_send_high_five' ); - ?> -

    -

    high-five!', 'bp-example' ), $bp->displayed_user->fullname, $send_link ) ?>

    - - -

    - - - - - - - - -
      post_title, $dedication->ID ); ?>
    - - displayed_user->domain . $bp->current_component . '/screen-one/send-h5', 'bp_example_send_high_five' ); + } function bp_dedication_dedications_to_me() { @@ -66,42 +51,20 @@ function bp_dedication_dedications_to_me() { add_action( 'bp_template_title', 'bp_dedication_dedications_to_me_title' ); add_action( 'bp_template_content', 'bp_dedication_dedications_to_me_content' ); - bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) ); + bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'dedications/index' ) ); } function bp_dedication_dedications_to_me_title() { - _e( 'Dedicated 2u', 'bp-dedication' ); + ?> +

    + displayed_user->id ); - - /** - * For security reasons, we MUST use the wp_nonce_url() function on any actions. - * This will stop naughty people from tricking users into performing actions without their - * knowledge or intent. - */ - $send_link = wp_nonce_url( $bp->displayed_user->domain . $bp->current_component . '/screen-one/send-h5', 'bp_example_send_high_five' ); - ?> -

    -

    high-five!', 'bp-example' ), $bp->displayed_user->fullname, $send_link ) ?>

    - - -

    - - - - - - - - -
      post_title, $dedication->ID ); ?>
    - - +

    + +Z`3#dv5h=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0kj3v921Z^em#l`(k(o@H$3ZdDRc@9NidXDNbqrumReCGv$gd8+e8WW28HVqkJ_9i zH>s*<31KtHjANIPvi2#*6BEu%3Dak5O_t&NBI)H?V$TxT}#l{vOTn5naXTfF^&~Hhq+NX@#Ccc>y7T?;vjI&jdhsDsPJyAw*m0Qz>i}K7# zL9w50Ng{fT}A5JUe8lRK1h7_Y2;BWJDd=c6f&i?Wv5(5q?6|P zQw{>maxZP<537OA37Uk}7@%_$4o$EWe_Zl>&#id|lE-BpDC#+Fn|msJ%_2h{Hg1vP z#N8WAzfWasG}yq|xqE)DrWaOofX=z|?*pgc%{ig5vl!pqDlC|q&~Z0$&Rvsft&VO- z4MZj+%-+Vx%W}v;V76hyp=;+R;x+~t^Q%*xuFTQAF2})fSfTHDAs>sO!OBw`)&)o$ c0!CNZt))x~rAZP^^P&YOFfdqy5)K#u0POD40{{R3 literal 0 HcmV?d00001 diff --git a/wp-content/plugins/bp-dedication/includes/css/img/shadow.png b/wp-content/plugins/bp-dedication/includes/css/img/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..a2561df971728d988424100c74c817916eca1979 GIT binary patch literal 3403 zcmeAS@N?(olHy`uVBq!ia0y~yV738bR}L1Sh{z?w93Z7#;u=xnT$Gwvl9`{U5R#dj z$`F!Ks$i<%mYSqsWME*TU}$J%1Vly(x&~$j21QvmX+Ul4C7!;n>{pmr1x4l8+mz-4 zg*Xd5B8wRqxP?HN@zUM8KR`j2bVpxD28NCO+HqZdXMAQjaPeGm)a##I4DP>8^|Q}*osX?x zu(w4E^8SQ>2<4nWJ;;$Ch1?$dLgm)?6;Yr9_CdHMW*W(@x+ip*R06EH_T4pml(Y0_%+Z_b^VZki z+Ig-L)GH{z-FHJSJv;l^O{dMW8|Geryoiy(edpWebG3Q>oX-o7q}^hCpz*y@X6IS? ZpGWQ1{0Pup3+%oyc)I$ztaD0e0swh%>OlYi literal 0 HcmV?d00001 diff --git a/wp-content/plugins/bp-dedication/includes/css/img/thumbnail.jpg b/wp-content/plugins/bp-dedication/includes/css/img/thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09715b54862d341de01f56416cc796ad159785e6 GIT binary patch literal 1097 zcmex=@TLA_pMkZz;kCzoH&BVye z!YU}lCalP=WN73VlqljsO9y)yS@(1z2q?FA-?II|~f(-zP3L;wu z5xvF0!whtXAhRHYJ;Qqkkl>7_lEx0B3nq*pqOn6Qp#dbyz#x#eDrsq#7Ne&0w8l?n z%~@{>!lKNjZ(W@wdh1?~vz2mb+U7Hdmbc6N;h$);B5Hj&*RFiu?9#su-=rIN*u;EV z?tk{+{il09{%n?iwdjwpeO&x4=G%EZQH_tor&`&S@rVD}a_`do)6F?W^E2*Rq&}+B zy0!g2Lsj{*%v6&H(ypn!&Oeo{Y&EWY`zji=Mcr-bV}sK#Cf!YC+Q9>M-AV3k-K#>D zwEnhyw4h*3)uTLpL+-ZR;IMa3x0ZYk+pP3wR;a=XB|I#kHLI$EV- zsd;GFv~7=8uU=O2?L!;W3|q5%IcpMvGc`-iIZOA(RcVEWFJ2ZsTX@PkpQWeQw%tv% z=c&wF)t&42b?tZWop-H{yo}oUe7#yc&w-B%zE*Q@66{-gHEVlu)|Mh7=^Wm{K=-JM&t=E}UF)EW!MuRHD6n-uz(Zq4l48g=(i*e0XY zFQ?`yf~^me(xVb!XzPnZ9lDto=(f=ka)&jI9Fq1M}OkL4!yNWZk3U=e%DD|Aio zrKwqqt1gBm)g6|~*VKA(sb|urzO_?U>q|_{J9*}Jb#BX*jk|Z1dEU7jy0S1oN_?hv z=+mcB)lzCv{H?33FR-q0`uFJTw6$-qW-pJp&>ytgTC3#A{#%?iUQbu(PPuzMyL7I1 zwrPB^RJ6sjlGOP^%TgM%`H!s2+4@uUZguRN%+vS_6zqL&XBs!vng(!eA<4K#qVZ^-D@h<&Aohe`=b3VJ;xGqroVX; Wx9T`+e`qz28pIZ`RY*kr|C<0Vg`J-O literal 0 HcmV?d00001 diff --git a/wp-content/plugins/bp-dedication/includes/js/dedication-script.js b/wp-content/plugins/bp-dedication/includes/js/dedication-script.js new file mode 100644 index 0000000..a617275 --- /dev/null +++ b/wp-content/plugins/bp-dedication/includes/js/dedication-script.js @@ -0,0 +1,102 @@ +jQuery(document).ready(function(){ + + var j = jQuery; + + // validate signup form on keyup and submit + j("#new-dedication-form").validate({ + ignore: [], + messages: { + friend_ids: "Please enter at least one member." + } + }); + + var onAutocompleteSelect = function(value, data) { + j('#selection').html(' ' + value); + alert(data); + } + + var options = { + minLength: 1, + serviceUrl: ajaxurl, + width: 300, + delimiter: /(,|;)\s*/, + onSelect: ia_on_autocomplete_select, + deferRequestBy: 0, //miliseconds + params: { + action: 'bp_dedication_autocomplete_ajax_handler' + }, + noCache: true //set to true, to disable caching + }; + + j("#dedicate_to_input").autocomplete(options); + + var url = ''; + + j('#video_url').change(function(){ + // Check for empty input field + if(j('#video_url').val() != ''){ + // Get youtube video's thumbnail url + // using jYoutube jQuery plugin + url = j.jYoutube(j('#video_url').val()); + + // Now append this image to
    + j('#thumbs').html(j('')); + } + }); + + j("#user-list li a.remove").live("click", function() { + var friend_id = j(this).prop('id'); + + friend_id = friend_id.split('-'); + friend_id = friend_id[1]; + + j.post( ajaxurl, { + action: 'bp_dedication_add_user_ajax_handler', + 'friend_action': 'remove', + 'cookie': encodeURIComponent(document.cookie), + //'_wpnonce': j("input#_wpnonce_invite_uninvite_user").val(), + 'friend_id': friend_id + }, + function(response) + { + friendIDs = j('#friend_ids').val().split(','); + friendIDs.splice(j.inArray(friend_id, friendIDs),1); + j('#friend_ids').val(friendIDs.toString()); + + j('#user-list li#uid-' + friend_id).remove(); + }); + + return false; + }); + +}); + +function ia_on_autocomplete_select( value, data ) { + var j = jQuery; + var friendIDs; + + // Check the right checkbox + //j('#invite-anyone-member-list input#f-' + data).prop('checked',true); + + j('#dedicate_to_input').addClass('loading'); + + j.post( ajaxurl, { + action: 'bp_dedication_add_user_ajax_handler', + 'friend_action': 'add', + 'cookie': encodeURIComponent(document.cookie), + //'_wpnonce': j("input#_wpnonce_invite_uninvite_user").val(), + 'friend_id': data + }, + function(response) + { + friendIDs = j('#friend_ids').val().split(','); + friendIDs.push(data); + j('#friend_ids').val(friendIDs.toString()); + + j('#user-list').append(response); + j('#dedicate_to_input').removeClass('loading'); + }); + + // Remove the value from the send-to-input box + j('#dedicate_to_input').val(''); +} \ No newline at end of file diff --git a/wp-content/plugins/bp-dedication/includes/js/jquery.jyoutube.js.js b/wp-content/plugins/bp-dedication/includes/js/jquery.jyoutube.js.js new file mode 100644 index 0000000..5df814b --- /dev/null +++ b/wp-content/plugins/bp-dedication/includes/js/jquery.jyoutube.js.js @@ -0,0 +1,33 @@ +/* + * jYoutube 1.0 - YouTube video image getter plugin for jQuery + * + * Copyright (c) 2009 jQuery Howto + * + * Licensed under the GPL license: + * http://www.gnu.org/licenses/gpl.html + * + * Plugin home & Author URL: + * http://jquery-howto.blogspot.com + * + */ +(function($){ + $.extend({ + jYoutube: function( url, size ){ + if(url === null){ return ""; } + + size = (size === null) ? "big" : size; + var vid; + var results; + + results = url.match("[\\?&]v=([^&#]*)"); + + vid = ( results === null ) ? url : results[1]; + + if(size == "small"){ + return "http://img.youtube.com/vi/"+vid+"/2.jpg"; + }else { + return "http://img.youtube.com/vi/"+vid+"/0.jpg"; + } + } + }) +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/bp-dedication/includes/js/jquery.validate.min.js b/wp-content/plugins/bp-dedication/includes/js/jquery.validate.min.js new file mode 100644 index 0000000..edd6452 --- /dev/null +++ b/wp-content/plugins/bp-dedication/includes/js/jquery.validate.min.js @@ -0,0 +1,51 @@ +/** + * jQuery Validation Plugin 1.9.0 + * + * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ + * http://docs.jquery.com/Plugins/Validation + * + * Copyright (c) 2006 - 2011 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;this.attr("novalidate","novalidate");b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){a=this.find("input, button");a.filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&a.filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var f=c("").attr("name", +b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&f.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form(); +else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name]; +return g}var h={};c.each(b.split(/\s/),function(j,i){h[i]=g[i];delete g[i]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a, +b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error", +validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(a)).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)}, +onkeyup:function(a){if(a.name in this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).addClass(b).removeClass(d):c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).removeClass(b).addClass(d):c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults, +a)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."), +minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."),range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var f=c.data(this[0].form,"validator"),g="on"+e.type.replace(/^validate/, +"");f.settings[g]&&f.settings[g].call(f,this[0],e)}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,f){c.each(f.split(/\s/),function(g,h){b[h]=e})});var d= +this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",a).validateDelegate("[type='radio'], [type='checkbox'], select, option","click", +a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(a){this.lastElement= +a=this.validationTargetFor(this.clean(a));this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList,function(d){return!(d.name in a)})}this.settings.showErrors? +this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()== +0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&& +a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)}, +prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.validationTargetFor(this.clean(a));var b=c(a).rules(),d=false,e;for(e in b){var f={method:e,parameters:b[e]};try{var g=c.validator.methods[e].call(this,a.value.replace(/\r/g,""),a,f.parameters);if(g=="dependency-mismatch")d=true;else{d=false;if(g=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!g){this.formatAndAdd(a,f);return false}}}catch(h){this.settings.debug&&window.console&&console.log("exception occured when checking element "+ +a.id+", check the '"+f.method+"' method",h);throw h;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+a.name+"")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d,element:a});this.errorMap[a.name]=d;this.submitted[a.name]= +d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]); +if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a,b){var d=this.errorsFor(a);if(d.length){d.removeClass(this.settings.validClass).addClass(this.settings.errorClass); +d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text("");typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow= +this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){if(this.checkable(a))a=this.findByName(a.name).not(this.settings.ignore)[0];return a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d, +e){return e.form==b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this, +c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted= +false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings, +a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(var d in c.validator.methods){var e;if(e=d==="required"&&typeof c.fn.prop==="function"?a.prop(d):a.attr(d))b[d]=e;else if(a[0].getAttribute("type")===d)b[d]=true}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{}; +var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]:c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}if(f)a[d]=e.param!==undefined? +e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)?e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages; +return a},normalizeRule:function(a){if(typeof a=="string"){var b={};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a, +b)>0;default:return c.trim(a).length>0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(this.pending[b.name])return"pending";if(e.old===a)return e.valid;e.old=a;var f=this;this.startRequest(b);var g={};g[b.name]=a;c.ajax(c.extend(true,{url:d, +mode:"abort",port:"validate"+b.name,dataType:"json",data:g,success:function(h){f.settings.messages[b.name].remote=e.originalMessage;var j=h===true;if(j){var i=f.formSubmitted;f.prepareElement(b);f.formSubmitted=i;f.successList.push(b);f.showErrors()}else{i={};h=h||f.defaultMessage(b,"remote");i[b.name]=e.message=c.isFunction(h)?h(a):h;f.showErrors(i)}e.valid=j;f.stopRequest(b,j)}},d));return"pending"},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a, +b,d){return this.optional(b)||this.getLength(c.trim(a),b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)}, +url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)}, +date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 -]+/.test(a))return false;var d=0,e=0,f=false;a=a.replace(/\D/g,"");for(var g=a.length-1;g>= +0;g--){e=a.charAt(g);e=parseInt(e,10);if(f)if((e*=2)>9)e-=9;d+=e;f=!f}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery); +(function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(d,e,f){e=d.port;if(d.mode=="abort"){a[e]&&a[e].abort();a[e]=f}});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;if(("mode"in d?d:c.ajaxSettings).mode=="abort"){a[e]&&a[e].abort();return a[e]=b.apply(this,arguments)}return b.apply(this,arguments)}}})(jQuery); +(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a, +b,d){return this.bind(b,function(e){var f=c(e.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery); diff --git a/wp-content/plugins/dedication-from-site/dedication-from-site.class.php b/wp-content/plugins/dedication-from-site/dedication-from-site.class.php new file mode 100644 index 0000000..d471c53 --- /dev/null +++ b/wp-content/plugins/dedication-from-site/dedication-from-site.class.php @@ -0,0 +1,515 @@ +form_id = $id; + $this->linktext = $linktext; + $this->popup = $popup; + $this->cat = $cat; + + register_activation_hook( __FILE__, array($this,'install') ); + + // add pfs_domain for translation + load_plugin_textdomain('pfs_domain'); + + // add pfs_options group & apply validation filter, add settings fields & section + add_action('admin_init', array($this, 'admin_init') ); + + // add js & css + add_action( 'get_header', array($this,'includes') ); + + // add admin page & options + add_action( 'admin_menu', array($this, 'show_settings') ); + + // add shortcode support + add_shortcode( 'post-from-site', array($this, 'shortcode') ); + + // add admin menu item. Probably not going to happen. + //add_action( 'admin_bar_menu', array($this, 'add_admin_link'), 1000 ); + } + + public function install(){ + //nothing here yet, as there's really nothing to 'install' that isn't covered by __construct + } + + /** + * Add options to databases with defaults + */ + public function show_settings() { + add_options_page('Dedication From Site', 'Dedication From Site', 'manage_options', 'pfs', array($this, 'settings') ); + + if (!get_option("pfs_options")) { + $options= array( 0 => array() ); + $options[0]['default_author'] = ''; + $options[0]['allow_image'] = true; + $options[0]['wp_image_size'] = 'medium'; + + $options[0]['post_status'] = 'publish'; + $options[0]['post_type'] = 'post'; + $options[0]['comment_status'] = 'open'; + $options[0]['post_category'] = ''; + $options[0]['taxonomy'] = array(); + + $options[0]['enable_captcha'] = false; + $options[0]['allow_anon'] = false; + $options['recaptcha_public_key'] = ''; + $options['recaptcha_private_key'] = ''; + add_option ("pfs_options", $options) ; + } + } + + /** + * What to display in the admin menu + */ + public function settings() { ?> +
    +

    + +
    + + + + + +
    + +
    + Create new user?', array($this, 'setting_default_author'), 'pfs', 'pfs_users'); + add_settings_field('pfs_enable_captcha', 'Enable Recaptcha for not logged in users? (recommended)', array($this, 'setting_enable_captcha'), 'pfs', 'pfs_users'); + add_settings_field('pfs_recaptcha_public_key', 'Recaptcha API public key:', array($this, 'setting_recaptcha_public_key'), 'pfs', 'pfs_users'); + add_settings_field('pfs_recaptcha_private_key', 'Recaptcha API private key:', array($this, 'setting_recaptcha_private_key'), 'pfs', 'pfs_users'); + + add_settings_section('pfs_post', 'Post Creation Settings', array($this, 'setting_section_post'), 'pfs'); + add_settings_field('pfs_post_status', 'Post status:', array($this, 'setting_post_status'), 'pfs', 'pfs_post'); + add_settings_field('pfs_post_type', 'Post type:
    Custom Post Types supported!', array($this, 'setting_post_type'), 'pfs', 'pfs_post'); + add_settings_field('pfs_comment_status', 'Comment status:', array($this, 'setting_comment_status'), 'pfs', 'pfs_post'); + add_settings_field('pfs_taxonomy', 'Allowed taxonomies:', array($this, 'setting_taxonomy'), 'pfs', 'pfs_post'); + add_settings_field('pfs_post_category', 'Post category:', array($this, 'setting_category'), 'pfs', 'pfs_post'); + + add_settings_section('pfs_image', 'Image Upload Settings', array($this, 'setting_section_image'), 'pfs'); + add_settings_field('pfs_allow_image', 'Allow users to upload an image?', array($this, 'setting_allow_image'), 'pfs', 'pfs_image'); + add_settings_field('pfs_wp_image_size', 'Image size setting to use:', array($this, 'setting_wp_image_size'), 'pfs', 'pfs_image'); + + + } + function setting_section_users() { + echo '

    By default, all logged-in users can use the post-from-site interface to create a post.

    '; + } + function setting_allow_anon() { + $options = get_option('pfs_options'); + $options = $options[0]; + echo ""; + } + function setting_default_author() { + $options = get_option('pfs_options'); + $options = $options[0]; + /* listing of authors */ + wp_dropdown_users( array( + 'blog_id' => get_current_blog_id(), + 'name' => 'pfs_options[0][default_author]', + 'id' => 'pfs_default_author', + 'selected' => $options['default_author'] + ) ); + } + function setting_enable_captcha() { + $options = get_option('pfs_options'); + $options = $options[0]; + echo ""; + } + function setting_recaptcha_public_key() { + $options = get_option('pfs_options'); + echo ""; + } + function setting_recaptcha_private_key() { + $options = get_option('pfs_options'); + echo ""; + } + + function setting_section_post() { + echo '

    Settings for posts created by Post From Site. Defaults to a published Post with comments open, and no taxonomies.

    '; + } + function setting_post_status() { + $options = get_option('pfs_options'); + $options = $options[0]; + echo ""; + } + function setting_post_type() { + $options = get_option('pfs_options'); + $options = $options[0]; + echo ""; + } + function setting_comment_status() { + $options = get_option('pfs_options'); + $options = $options[0]; + echo ""; + } + function setting_taxonomy() { + $options = get_option('pfs_options'); + $options = $options[0]; + $taxonomies = get_taxonomies(array( 'public' => true ),'object'); + echo "
      "; + foreach ($taxonomies as $taxonomy ) { + echo '
    • '; + } + echo "
    "; + } + function setting_category() { + $options = get_option('pfs_options'); + $options = $options[0]; + $categories = get_categories(array( 'public' => true ),'object'); + + echo ""; + } + + function setting_section_image() { + echo '

    Main description of this section here.

    '; + } + function setting_allow_image() { + $options = get_option('pfs_options'); + $options = $options[0]; + echo ""; + } + function setting_wp_image_size() { + $options = get_option('pfs_options'); + $options = $options[0]; + $sizes = get_intermediate_image_sizes(); + echo ""; + } + + /** + * Sanitize and validate input. + * @param array $input an array to sanitize + * @return array a valid array. + */ + public function validate($input) { + $ok = array('publish','pending','draft'); + $users = array(); + $user_objs = get_users( array( + 'blog_id' => $GLOBALS['blog_id'], + 'fields' => array( 'ID', 'user_login' ) + ) ); + foreach ( $user_objs as $u ){ + $users[] = $u->ID; + } + + foreach ($input as $i => $val) { + if (is_array($val)){ + $input[$i]['allow_anon'] = array_key_exists('allow_anon',$val); + $input[$i]['default_author'] = (in_array($val['default_author'], $users)) ? $val['default_author'] : 'anon' ; + $input[$i]['enable_captcha'] = array_key_exists('enable_captcha',$val); + + $input[$i]['post_status'] = (in_array($val['post_status'],$ok) ? $val['post_status'] : 'pending'); + $input[$i]['post_type'] = (post_type_exists($val['post_type']) ? $val['post_type'] : 'post'); + $input[$i]['comment_status'] = ($val['comment_status'] == 'open' ? 'open' : 'closed'); + if ( array_key_exists('taxonomy',$val) ){ + foreach ( $input[$i]['taxonomy'] as $j => $tax) { + if (!taxonomy_exists($tax)) { + unset($input[$i]['taxonomy'][$j]); + } + } + } + + $input[$i]['allow_image'] = array_key_exists('allow_image', $val); + $input[$i]['wp_image_size'] = (in_array($val['wp_image_size'],get_intermediate_image_sizes())) ? $val['wp_image_size'] : 'medium'; + } + } + $input['recaptcha_public_key'] = urlencode($input['recaptcha_public_key']); + $input['recaptcha_private_key'] = urlencode($input['recaptcha_private_key']); + return $input; + } + + /** + * Add javascript and css to header files. + */ + public function includes(){ + if (is_page(array(1054, 'new-dedication'))) { + wp_enqueue_script( 'jquery-autocomplete-js', plugins_url("includes/jquery.autocomplete-min.js",__FILE__), array( 'jquery' ) ); + wp_enqueue_script( 'jquery-multi-upload', plugins_url("includes/jquery.MultiFile.pack.js",__FILE__), array('jquery','jquery-form') ); + wp_enqueue_script( 'pfs-script', plugins_url("includes/pfs-script.js",__FILE__) ); + + wp_localize_script('pfs-script', 'pfs_script_vars', array( + 'source_url' => plugins_url("search.php",__FILE__) + ) + ); + + wp_enqueue_style( 'pfs-min-style', plugins_url("includes/minimal.css",__FILE__) ); + $theme_css = apply_filters( 'pfs_theme_css', plugins_url("includes/twentyeleven.css",__FILE__) ); + wp_enqueue_style( 'pfs-style', $theme_css ); + } + } + + /** + * Add shortcode support. + * @param $atts shortcode attributes, cat, link, and popup + * cat is the category to post to, link is the display text of the link, + * and popup decides whether it's an inline form (false) or a popup box (true). + */ + function shortcode($atts, $content=null, $code="") { + $a = shortcode_atts( array( + 'link' => 'quick post', + 'popup' => false, + 'cat' => '' + ), $atts ); + $pfs = new DedicationFromSite(0, $a['link'], $a['popup'], $a['cat']); + return $pfs->get_form(); + } + + /** + * Add a link to show the form from the admin bar + function add_admin_link() { + global $wp_admin_bar, $wpdb; + if ( !is_super_admin() || !is_admin_bar_showing() ) + return; + $this->popup = false; + $form = "".$this->get_form(); + / * Add the main siteadmin menu item * / + $wp_admin_bar->add_menu( array( 'id' => 'post_from_site', 'title' => __( 'Write a Post', 'pfs_domain' ), 'href' => FALSE ) ); + $wp_admin_bar->add_menu( array( 'parent' => 'post_from_site', 'title' => $form, 'href' => FALSE ) ); + } */ + + /** + * Creates link and postbox (initially hidden with display:none), calls pfs_submit on form-submission. Echos the form. + * @param string $cat Category ID for posting specifically to one category. Default is '', which allows user to choose from allowed categories. + * @param string $linktext Link text for post link. Default is set in admin settings, any text here will override that. + * @param bool $popup Whether the box should be a 'modal-style' popup or always display + */ + public function form(){ + echo $this->get_form(); + } + + /** + * Creates link and postbox (initially hidden with display:none), calls pfs_submit on form-submission. Returns the form. + * @param string $cat Category ID for posting specifically to one category. Default is '', which allows user to choose from allowed categories. + * @param string $linktext Link text for post link. Default is set in admin settings, any text here will override that. + * @param bool $popup Whether the box should be a 'modal-style' popup or always display + */ + public function get_form(){ + $linktext = $this->linktext; + $cat = $this->cat; + $popup = $this->popup; + $id = $this->form_id; + $pfs_options = get_option('pfs_options'); + $options = $pfs_options[0]; + + + /*$from_user_link = bp_get_loggedin_user_link(); + $from_user_username = bp_loggedin_user_username(); + bp_loggedin_user_fullname()*/ + $from_flag = gp_get_the_flag(bp_loggedin_user_id()); + + + if (''==$linktext) $linktext = apply_filters( 'pfs_default_link_text', __('Click to post.','pfs_domain') ); + $idtext = $cat.sanitize_html_class($linktext); + + $out = ''; + + $out .= "
    \n"; + $out .= "\n"; + $out .= "\n"; + $out .= "\n"; + $out .= apply_filters( 'pfs_form_start', '', $idtext ); + + // from + $out .= ""; + $out .= "
    " . $from_flag . "" . bp_get_loggedin_user_username() . "
    "; + //$out .= "\n"; + + // to + $out .= ""; + $out .= "\n"; + + $out .= " \n"; + + if (!current_user_can('publish_posts') && $options['allow_anon']){ //if not logged in/able to publish posts, and anon posting allowed, show name/email + $out .= " "; + $out .= " \n"; + } + //$out .= "\n"; + + if ( array_key_exists('taxonomy',$options) ){ + foreach ($options['taxonomy'] as $i => $tax){ + //if ($tax != 'category' || empty($cat)){ + $out .= $this->get_taxonomy_list($tax); + //} + } + } + if ($options['allow_image']) { + $out .= ""; + /*$out .= ""; + $out .= "";*/ + $out .= "
    \n"; + } + $out .= "
    \n"; + if ($options['enable_captcha'] && !current_user_can('publish_posts') && $options['allow_anon'] ){ + if ( !empty($pfs_options['recaptcha_public_key']) ) { + require_once('recaptchalib.php'); + $publickey = $pfs_options['recaptcha_public_key']; // you got this from the signup page + $out .= recaptcha_get_html($publickey); + } else { + return ""; + } + } + $out .= apply_filters( 'pfs_before_submit', '', $idtext ); + $out .= "\n"; + $out .= apply_filters( 'pfs_form_end', '', $idtext ); + $out .= "\n
    \n"; + $out .= apply_filters( 'pfs_after_form', '', $idtext ); + } else { + $out .= apply_filters( 'pfs_alert_login', "

    You must be logged in to post.

    " ); + } + $out .= "
    \n\n"; + return $out; + } + + /** + * return the categories + * @param string $excluded Categories which are excluded + */ + public function get_taxonomy_list( $taxonomy ){ + $terms = get_terms($taxonomy, array( + 'hide_empty' => 0 + )); + if (!$terms || empty($terms)) return ''; + //preg_match_all('/\s*
    ");c.mouseover(j(f));c.click(k(f));this.container.append(c)}this.enabled=true;this.container.show()}},processResponse:function(b){var a;try{a=eval("("+b+")")}catch(c){return}if(!d.isArray(a.data))a.data=[];if(!this.options.noCache){this.cachedResponse[a.query]= a;a.suggestions.length===0&&this.badQueries.push(a.query)}if(a.query===this.getQuery(this.currentValue)){this.suggestions=a.suggestions;this.data=a.data;this.suggest()}},activate:function(b){var a,c;a=this.container.children();this.selectedIndex!==-1&&a.length>this.selectedIndex&&d(a.get(this.selectedIndex)).removeClass();this.selectedIndex=b;if(this.selectedIndex!==-1&&a.length>this.selectedIndex){c=a.get(this.selectedIndex);d(c).addClass("selected")}return c},deactivate:function(b,a){b.className= "";if(this.selectedIndex===a)this.selectedIndex=-1},select:function(b){var a;if(a=this.suggestions[b]){this.el.val(a);if(this.options.autoSubmit){a=this.el.parents("form");a.length>0&&a.get(0).submit()}this.ignoreValueChange=true;this.hide();this.onSelect(b)}},moveUp:function(){if(this.selectedIndex!==-1)if(this.selectedIndex===0){this.container.children().get(0).className="";this.selectedIndex=-1;this.el.val(this.currentValue)}else this.adjustScroll(this.selectedIndex-1)},moveDown:function(){this.selectedIndex!== this.suggestions.length-1&&this.adjustScroll(this.selectedIndex+1)},adjustScroll:function(b){var a,c,e;a=this.activate(b).offsetTop;c=this.container.scrollTop();e=c+this.options.maxHeight-25;if(ae&&this.container.scrollTop(a-this.options.maxHeight+25);this.el.val(this.getValue(this.suggestions[b]))},onSelect:function(b){var a,c;a=this.options.onSelect;c=this.suggestions[b];b=this.data[b];this.el.val(this.getValue(c));d.isFunction(a)&&a(c,b,this.el)},getValue:function(b){var a, c;a=this.options.delimiter;if(!a)return b;c=this.currentValue;a=c.split(a);if(a.length===1)return b;return c.substr(0,c.length-a[a.length-1].length)+b}}})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/bp-dedication/includes/js/jquery.autocomplete.js b/wp-content/plugins/dedication-from-site/includes/jquery.autocomplete.js similarity index 100% rename from wp-content/plugins/bp-dedication/includes/js/jquery.autocomplete.js rename to wp-content/plugins/dedication-from-site/includes/jquery.autocomplete.js diff --git a/wp-content/plugins/bp-dedication/includes/css/minimal.css b/wp-content/plugins/dedication-from-site/includes/minimal.css similarity index 100% rename from wp-content/plugins/bp-dedication/includes/css/minimal.css rename to wp-content/plugins/dedication-from-site/includes/minimal.css diff --git a/wp-content/plugins/bp-dedication/includes/js/pfs-script.bak.js b/wp-content/plugins/dedication-from-site/includes/pfs-script.bak.js similarity index 100% rename from wp-content/plugins/bp-dedication/includes/js/pfs-script.bak.js rename to wp-content/plugins/dedication-from-site/includes/pfs-script.bak.js diff --git a/wp-content/plugins/bp-dedication/includes/js/pfs-script.js b/wp-content/plugins/dedication-from-site/includes/pfs-script.js similarity index 100% rename from wp-content/plugins/bp-dedication/includes/js/pfs-script.js rename to wp-content/plugins/dedication-from-site/includes/pfs-script.js diff --git a/wp-content/plugins/bp-dedication/includes/css/twentyeleven.css b/wp-content/plugins/dedication-from-site/includes/twentyeleven.css similarity index 100% rename from wp-content/plugins/bp-dedication/includes/css/twentyeleven.css rename to wp-content/plugins/dedication-from-site/includes/twentyeleven.css diff --git a/wp-content/plugins/dedication-from-site/pfs-submit.php b/wp-content/plugins/dedication-from-site/pfs-submit.php new file mode 100644 index 0000000..1442280 --- /dev/null +++ b/wp-content/plugins/dedication-from-site/pfs-submit.php @@ -0,0 +1,202 @@ +".print_r($pfs_data, true)."\n"; + echo "
    ".print_r($pfs_files, true)."
    \n"; + + $title = $pfs_data['title']; + $postcontent = $pfs_data['postcontent']; + + $name = (array_key_exists('name',$pfs_data)) ? esc_html($pfs_data['name'],array()) : ''; + $email = (array_key_exists('email',$pfs_data)) ? sanitize_email($pfs_data['email']) : ''; + + $taxonomies = array(); + + $imgAllowed = 0; + $result = Array( + 'image'=>"", + 'error'=>"", + 'success'=>"", + 'post'=>"" + ); + $success = False; + $upload = False; + + if ( !current_user_can('publish_posts') && $pfs_options['allow_anon'] && $pfs_options['enable_captcha'] ){ + require_once('recaptchalib.php'); + $privatekey = $pfs_options_arr['recaptcha_private_key']; + $resp = recaptcha_check_answer ($privatekey, + $_SERVER["REMOTE_ADDR"], + $_POST["recaptcha_challenge_field"], + $_POST["recaptcha_response_field"]); + } + if ( !current_user_can('publish_posts') && $pfs_options['allow_anon'] && $pfs_options['enable_captcha'] && !$resp->is_valid ) { + // What happens when the CAPTCHA was entered incorrectly + $result['error'] = printf(__("Incorrect reCAPTCHA: %s",'pfs_domain'), $resp->error); + } else { + //echo "
    ".print_r($pfs_files['image']['name'], true)."
    \n"; + if (array_key_exists('image',$pfs_files)) { + /* play with the image */ + switch (True) { + case (1 < count($pfs_files['image']['name'])): + // multiple file upload + $result['image'] = "multiple"; + $file = $pfs_files['image']; + for ( $i = 0; $i < count($file['tmp_name']); $i++ ){ + if( ''!=$file['tmp_name'][$i] ){ + $imgAllowed = (getimagesize($file['tmp_name'][$i])) ? True : (''==$file['name'][$i]); + if ($imgAllowed){ + $upload[$i+1] = upload_image(array('name'=>$pfs_files["image"]["name"][$i], 'tmp_name'=>$pfs_files["image"]["tmp_name"][$i])); + if (False === $upload[$i+1]){ + $result['error'] = __("There was an error uploading the image.",'pfs_domain'); + } else { + $success[$i+1] = True; + } + } else { + $result['error'] = __("Incorrect filetype. Only images (.gif, .png, .jpg, .jpeg) are allowed.",'pfs_domain'); + } + } + } + break; + case ((1 == count($pfs_files['image']['name'])) && ('' != $pfs_files['image']['name'][0]) ): + // single file upload + $file = $pfs_files['image']; + $result['image'] = 'single'; + $imgAllowed = (getimagesize($file['tmp_name'][0])) ? True : (''==$file['name'][0]); + if ($imgAllowed){ + $upload[1] = upload_image( array( 'name'=>$file["name"][0], 'tmp_name'=>$file["tmp_name"][0] ) ); + //echo "
    ".print_r($upload, true)."
    \n"; + if (False === $upload[1]){ + $result['error'] = __("There was an error uploading the image.",'pfs_domain'); + } else { + $success[1] = True; + } + } else { + $result['error'] = __("Incorrect filetype. Only images (.gif, .png, .jpg, .jpeg) are allowed.",'pfs_domain'); + } + break; + default: + $result['image'] = 'none'; + } + } + if ( '' != $result['error'] ) return $result; // fail if the image upload failed. + + //echo "
    ".print_r($upload, true)."
    \n"; + //echo "
    ".print_r($success, true)."
    \n"; + + /* manipulate $pfs_data into proper post array */ + $has_content_things = ($title != ''); + if ( !current_user_can('publish_posts') && $pfs_options['allow_anon'] ) $has_content_things = $has_content_things && ($name != '') && is_email($email); + + if ( $has_content_things ) { + $content = $postcontent; + if ( !current_user_can('publish_posts') && $pfs_options['allow_anon'] ) $content .= apply_filters('pfs_submittedby_text',"

    Submitted by $name

    "); + if ( is_user_logged_in() ){ + global $user_ID; + get_currentuserinfo(); + } + if (is_array($success)){ + foreach(array_keys($success) as $i){ + $imgtag = "[!--image$i--]"; + if (False === strpos($content,$imgtag)) $content .= "\n\n$imgtag"; + $content = str_replace($imgtag, wp_get_attachment_link( $upload[$i], $pfs_options['wp_image_size']), $content); + } + } + //if any [!--image#--] tags remain, they are invalid and should just be deleted. + $content = preg_replace('/\[\!--image\d*--\]/','',$content); + + // $terms[{tax name}] = array(term1, term2, etc) + if ( array_key_exists('terms',$pfs_data) ) { + foreach ($pfs_data['terms'] as $taxon => $terms){ + if ( !is_taxonomy_hierarchical($taxon) ) { + $pfs_data['terms'][$taxon] = implode(',',$terms); + } + } + } + + $postarr = array(); + $postarr['post_title'] = $title; + $postarr['post_content'] = apply_filters('comment_text', $content); + $postarr['comment_status'] = $pfs_options['comment_status']; + $postarr['post_status'] = $pfs_options['post_status']; + $postarr['post_author'] = ( is_user_logged_in() ) ? $user_ID : $pfs_options['default_author']; + $postarr['tax_input'] = (array_key_exists('terms',$pfs_data)) ? $pfs_data['terms'] : array(); + $postarr['post_type'] = $pfs_options['post_type']; + echo "
    ".print_r($postarr, true)."
    \n"; + $post_id = wp_insert_post($postarr); + + if (0 == $post_id) { + $result['error'] = __("Unable to insert post- unknown error.",'pfs_domain'); + } else { + $result['success'] = __("Post added, please wait to return to the previous page.",'pfs_domain'); + $result['post'] = $post_id; + } + } else { + $result['error'] = __("You've left a field empty. All fields are required",'pfs_domain'); + } + } + return $result; +} + +/** + * Upload images + */ +function upload_image($image){ + $file = wp_upload_bits( $image["name"], null, file_get_contents($image["tmp_name"])); + //echo "
    ";
    +    //var_dump($file);
    +    //echo "
    \n"; + if (false === $file['error']) { + $wp_filetype = wp_check_filetype(basename($file['file']), null ); + $attachment = array( + 'post_mime_type' => $wp_filetype['type'], + 'post_title' => preg_replace('/\.[^.]+$/', '', basename($file['file'])), + 'post_content' => '', + 'post_status' => 'inherit' + ); + $attach_id = wp_insert_attachment( $attachment, $file['file'] ); + // you must first include the image.php file + // for the function wp_generate_attachment_metadata() to work + require_once(ABSPATH . "wp-admin" . '/includes/image.php'); + $attach_data = wp_generate_attachment_metadata( $attach_id, $file['file'] ); + wp_update_attachment_metadata( $attach_id, $attach_data ); + return $attach_id; + } else { + //TODO: er, error handling? + return false; + } +} + +var_dump($_POST); + + +if (!empty($_POST)){ + $pfs = pfs_submit($_POST,$_FILES); + echo json_encode($pfs); + echo "
    ".print_r($pfs, true)."
    \n"; +} else { + /* TODO: translate following */ + _e('You should not be seeing this page, something went wrong.','pfs_domain'); + echo "" . __('Go home?','pfs_domain') . ""; +} + +//get_footer(); +?> diff --git a/wp-content/plugins/dedication-from-site/pfs-widget.php b/wp-content/plugins/dedication-from-site/pfs-widget.php new file mode 100644 index 0000000..c9b3535 --- /dev/null +++ b/wp-content/plugins/dedication-from-site/pfs-widget.php @@ -0,0 +1,82 @@ + "Place a link on your site to pop up a 'write post' box.")); + } + + /** @see WP_Widget::widget */ + function widget($args, $instance) { + extract( $args ); + $title = apply_filters('widget_title', $instance['title']); + $category = $instance['category']; + $link = apply_filters('widget_title', $instance['link']); + $popup = $instance['popup']; + echo $before_widget; + if ( $title ) echo $before_title . $title . $after_title; + echo "
    • "; + $pfs = new PostFromSite(0,$link,$popup,$category); + $pfs->form(); + echo "
    "; + echo $after_widget; + } + + /** @see WP_Widget::update */ + function update($new_instance, $old_instance) { + $instance = $old_instance; + $instance['title'] = strip_tags($new_instance['title']); + $instance['category'] = strip_tags($new_instance['category']); + $instance['link'] = strip_tags($new_instance['link']); + $instance['popup'] = (isset($new_instance['popup'])) ? 'true' : false; + return $instance; + } + + /** @see WP_Widget::form */ + function form($instance) { + if ( $instance ) { + $title = esc_attr($instance['title']); + $category = esc_attr($instance['category']); + $link = esc_attr($instance['link']); + $popup = $instance['popup']; + } else { + $title = ''; + $category = ''; + $link = ''; + $popup = 0; + } + ?> +

    +

    +

    +

    + \ No newline at end of file diff --git a/wp-content/plugins/dedication-from-site/readme.txt b/wp-content/plugins/dedication-from-site/readme.txt new file mode 100644 index 0000000..605780f --- /dev/null +++ b/wp-content/plugins/dedication-from-site/readme.txt @@ -0,0 +1,88 @@ +=== Plugin Name === +Contributors: ryelle +Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=YB5AWJMBLCCVC&lc=US&item_name=redradar%2enet¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted +Tags: quick post, frontend, insert post, post, Post, custom post type +Requires at least: 3.2 +Tested up to: 3.3.1 +Stable tag: 3.0.1 + +Write a post without leaving your site! + +== Description == + +Add an interface on your site to write a post (or page, or anything), without having to go into the admin section. Also allows for 'anonymous' posting (not logged in users, still asks for name/email) with a recaptcha. This makes Post From Site a perfect plugin for your user reviews, a suggestion box, or even a very basic forum site. + +After install, you can display a form on your site via a widget, shortcode, or PHP code in your theme. See [this page for further documentation](http://me.redradar.net/category/plugins/post-from-site/). + +== Upgrade Notice == + +If you're updating from 2.0.3 or below, you'll need to resave your settings before it will work correctly (a lot of things were changed in 3.0). + +== Installation == + +1. Unzip `pfs.zip` +1. Upload all files to the `/wp-content/plugins/post-from-site` directory +1. Activate the plugin through the 'Plugins' menu in WordPress + += Use your choice of include: = +1. Add a widget in the [Widgets section](http://codex.wordpress.org/Appearance_Widgets_Screen) +2. Add a shortcode to a page/post/CPT + * Post From Site's basic shortcode is `[post-from-site]`. It has three options: `popup` defines whether the form will show on the site, or only after clicking a link (defaults to false, not a popup). `link` defines that link's text (defaults to 'quick post'). `cat` restricts the post to a specific category (defaults to none). +3. Add PHP code to your template files. + * `form(); ?>` will output the form. You can pass the same variables as in the shortcode. + +== Changelog == += 3.0.1 = +* Added the post_from_site function back for compatability + += 3.0 = +* Rewrote code (again) into a class. +* Added Custom Post Type functionality, along with support for all taxonomies. +* Added widget functionality +* Added actions and filters to allow extension +* Images are uploaded correctly to gallery, and included image size is customizable + += 2.0.3 = +* Fixed the call to the non-existent 'pfs-widget.php'. + += 2.0.2 = +* Fixed an issue with headers +* Changed the `div` tag back to an `a` tag. + += 2.0.1 = +* Compatibility with 3.0 + += 2.0.0 = +* scrapped a lot of code, most of it never made a release +* moved over to strictly using jQuery +* multiple file upload support +* submits using ajax, then refreshes page, so you can see you addition immediately +* also gets rid of the double-post if you refresh the page +* default style has been changed + += 1.9.0 = +* fixes double posting; +* better image support; +* introduction of '[!--image--]' tag; +* existing category/tag dropdown with multiple selection; +* ability to create new categories/tags; +* other minor adjustments + += 1.7.0 = +* addition of tags +* bugfixes + += 1.6.x = +* Initial releases + +== Frequently Asked Questions == + += The popup won't show up / I'm redirected to a white page on submit = + +Check that you have the javascript and css files in the plugin's folder (`post-from-site`). A problem with the first version of this plugin was that the plugin was looking for the files in the wrong directory. For other people it was also a problem with my code assuming a Linux filestructure, so on Windows servers it broke. 2.0.0+ shouldn't have this problem, as I'm using a different method of calling other files. + +[ask a question](http://wordpress.org/tags/post-from-site?forum_id=10)? + +== Screenshots == + +1. Post From Site in action (default 'twentyeleven' theme): inserted onto a sticky post using the shortcode. diff --git a/wp-content/plugins/dedication-from-site/recaptchalib.php b/wp-content/plugins/dedication-from-site/recaptchalib.php new file mode 100644 index 0000000..32c4f4d --- /dev/null +++ b/wp-content/plugins/dedication-from-site/recaptchalib.php @@ -0,0 +1,277 @@ + $value ) + $req .= $key . '=' . urlencode( stripslashes($value) ) . '&'; + + // Cut the last '&' + $req=substr($req,0,strlen($req)-1); + return $req; +} + + + +/** + * Submits an HTTP POST to a reCAPTCHA server + * @param string $host + * @param string $path + * @param array $data + * @param int port + * @return array response + */ +function _recaptcha_http_post($host, $path, $data, $port = 80) { + + $req = _recaptcha_qsencode ($data); + + $http_request = "POST $path HTTP/1.0\r\n"; + $http_request .= "Host: $host\r\n"; + $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n"; + $http_request .= "Content-Length: " . strlen($req) . "\r\n"; + $http_request .= "User-Agent: reCAPTCHA/PHP\r\n"; + $http_request .= "\r\n"; + $http_request .= $req; + + $response = ''; + if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) { + die ('Could not open socket'); + } + + fwrite($fs, $http_request); + + while ( !feof($fs) ) + $response .= fgets($fs, 1160); // One TCP-IP packet + fclose($fs); + $response = explode("\r\n\r\n", $response, 2); + + return $response; +} + + + +/** + * Gets the challenge HTML (javascript and non-javascript version). + * This is called from the browser, and the resulting reCAPTCHA HTML widget + * is embedded within the HTML form it was called from. + * @param string $pubkey A public key for reCAPTCHA + * @param string $error The error given by reCAPTCHA (optional, default is null) + * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false) + + * @return string - The HTML to be embedded in the user's form. + */ +function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false) +{ + if ($pubkey == null || $pubkey == '') { + die ("To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create"); + } + + if ($use_ssl) { + $server = RECAPTCHA_API_SECURE_SERVER; + } else { + $server = RECAPTCHA_API_SERVER; + } + + $errorpart = ""; + if ($error) { + $errorpart = "&error=" . $error; + } + return ' + + '; +} + + + + +/** + * A ReCaptchaResponse is returned from recaptcha_check_answer() + */ +class ReCaptchaResponse { + var $is_valid; + var $error; +} + + +/** + * Calls an HTTP POST function to verify if the user's guess was correct + * @param string $privkey + * @param string $remoteip + * @param string $challenge + * @param string $response + * @param array $extra_params an array of extra variables to post to the server + * @return ReCaptchaResponse + */ +function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array()) +{ + if ($privkey == null || $privkey == '') { + die ("To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create"); + } + + if ($remoteip == null || $remoteip == '') { + die ("For security reasons, you must pass the remote ip to reCAPTCHA"); + } + + + + //discard spam submissions + if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) { + $recaptcha_response = new ReCaptchaResponse(); + $recaptcha_response->is_valid = false; + $recaptcha_response->error = 'incorrect-captcha-sol'; + return $recaptcha_response; + } + + $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify", + array ( + 'privatekey' => $privkey, + 'remoteip' => $remoteip, + 'challenge' => $challenge, + 'response' => $response + ) + $extra_params + ); + + $answers = explode ("\n", $response [1]); + $recaptcha_response = new ReCaptchaResponse(); + + if (trim ($answers [0]) == 'true') { + $recaptcha_response->is_valid = true; + } + else { + $recaptcha_response->is_valid = false; + $recaptcha_response->error = $answers [1]; + } + return $recaptcha_response; + +} + +/** + * gets a URL where the user can sign up for reCAPTCHA. If your application + * has a configuration page where you enter a key, you should provide a link + * using this function. + * @param string $domain The domain where the page is hosted + * @param string $appname The name of your application + */ +function recaptcha_get_signup_url ($domain = null, $appname = null) { + return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode (array ('domains' => $domain, 'app' => $appname)); +} + +function _recaptcha_aes_pad($val) { + $block_size = 16; + $numpad = $block_size - (strlen ($val) % $block_size); + return str_pad($val, strlen ($val) + $numpad, chr($numpad)); +} + +/* Mailhide related code */ + +function _recaptcha_aes_encrypt($val,$ky) { + if (! function_exists ("mcrypt_encrypt")) { + die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed."); + } + $mode=MCRYPT_MODE_CBC; + $enc=MCRYPT_RIJNDAEL_128; + $val=_recaptcha_aes_pad($val); + return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); +} + + +function _recaptcha_mailhide_urlbase64 ($x) { + return strtr(base64_encode ($x), '+/', '-_'); +} + +/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */ +function recaptcha_mailhide_url($pubkey, $privkey, $email) { + if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) { + die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " . + "you can do so at http://www.google.com/recaptcha/mailhide/apikey"); + } + + + $ky = pack('H*', $privkey); + $cryptmail = _recaptcha_aes_encrypt ($email, $ky); + + return "http://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail); +} + +/** + * gets the parts of the email to expose to the user. + * eg, given johndoe@example,com return ["john", "example.com"]. + * the email is then displayed as john...@example.com + */ +function _recaptcha_mailhide_email_parts ($email) { + $arr = preg_split("/@/", $email ); + + if (strlen ($arr[0]) <= 4) { + $arr[0] = substr ($arr[0], 0, 1); + } else if (strlen ($arr[0]) <= 6) { + $arr[0] = substr ($arr[0], 0, 3); + } else { + $arr[0] = substr ($arr[0], 0, 4); + } + return $arr; +} + +/** + * Gets html to display an email address given a public an private key. + * to get a key, go to: + * + * http://www.google.com/recaptcha/mailhide/apikey + */ +function recaptcha_mailhide_html($pubkey, $privkey, $email) { + $emailparts = _recaptcha_mailhide_email_parts ($email); + $url = recaptcha_mailhide_url ($pubkey, $privkey, $email); + + return htmlentities($emailparts[0]) . "...@" . htmlentities ($emailparts [1]); + +} + + +?> diff --git a/wp-content/plugins/dedication-from-site/screenshot-1.png b/wp-content/plugins/dedication-from-site/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d7fb2d96db93d53d48c717550211d9a482296acc GIT binary patch literal 23617 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 IT?oAWADEHmhX4Qo literal 0 HcmV?d00001 diff --git a/wp-content/plugins/dedication-from-site/search.php b/wp-content/plugins/dedication-from-site/search.php new file mode 100644 index 0000000..f5ca7d0 --- /dev/null +++ b/wp-content/plugins/dedication-from-site/search.php @@ -0,0 +1,48 @@ +get_results("SELECT ID, display_name, user_email FROM $wpdb->users ORDER BY ID"); +foreach ($wp_user_search as $userid) { + $user_id = (int) $userid->ID; + $display_name = stripslashes($userid->display_name); + $user_email = stripslashes($userid->user_email); + + $data[] = array( + 'label' => $display_name . ' (' . $user_email . ')', + 'value' => $user_id + ); +} +// jQuery wants JSON data +echo json_encode($data); +flush(); + + +//// connect to the database server and select the appropriate database for use +//$dblink = mysql_connect('server', 'username', 'password') or die(mysql_error()); +//mysql_select_db('database_name'); +//// query the database table for zip codes that match 'term' +//$rs = mysql_query('select zip, city, state from zipcode where zip like "' . mysql_real_escape_string($_REQUEST['term']) . '%" order by zip asc limit 0,10', $dblink); +//// loop through each zipcode returned and format the response for jQuery +// +//if ($rs && mysql_num_rows($rs)) { +// while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) { +// $data[] = array( +// 'label' => $row['zip'] . ', ' . $row['city'] . ' ' . $row['state'], +// 'value' => $row['zip'] +// ); +// } +//} +//// jQuery wants JSON data +//echo json_encode($data); +//flush(); diff --git a/wp-content/plugins/invite-anyone/invite-anyone.php b/wp-content/plugins/invite-anyone/invite-anyone.php index 9d2115a..9d51ad1 100644 --- a/wp-content/plugins/invite-anyone/invite-anyone.php +++ b/wp-content/plugins/invite-anyone/invite-anyone.php @@ -19,7 +19,7 @@ register_activation_hook( __FILE__, 'invite_anyone_activation' ); function invite_anyone_init() { require( dirname( __FILE__ ) . '/functions.php' ); - + if ( function_exists( 'bp_is_active' ) ) { if ( bp_is_active( 'groups' ) ) require( dirname( __FILE__ ) . '/group-invites/group-invites.php' ); diff --git a/wp-content/plugins/youtube-to-wp-post/readme.txt b/wp-content/plugins/youtube-to-wp-post/readme.txt deleted file mode 100644 index b8990b6..0000000 --- a/wp-content/plugins/youtube-to-wp-post/readme.txt +++ /dev/null @@ -1,53 +0,0 @@ -=== Youtube to WP Post === -Contributors: Robin -Tags: youtube ,wp-post,youtube-post,youtube-wp-post,youtubetopost -Donate link: -Requires at least: 3.0 -Tested up to: 3.3 -Stable tag: 1.0 -License: GPLv2 or later - -This plugin creates posts based on the data fetched from the youtube from its id. - -== Description == - -This plugin accepts url of youtube and fetches title , description and the thumbnail of the youtube video , then creates a post in wp with the title , description and featured image fetched from youtube sites. - - - -== Installation == - -Follow Following steps - -1.Upload the FOLDER 'wp-youtube' to the /wp-content/plugins/ - -2.Activate the plugin 'WP YouTube' through the 'Plugins' menu in admin - -3.Go to 'YouTube To Post' - -== Changelog == - -1.0 updated files - -== Frequently Asked Questions == - -= How to use this plugin? = - -Go to YouTube To Post menu at admin panel -Enter the youtube url (Seperate url in new line) -Click on submit button -See the post section . - -Enjoy - -= How to get help? = -mail me at: robingupta0512@gmail.com - -== Screenshots == -1. main section of plugin. -2. after entering the details. -3. after submission of form. - -== Upgrade Notice == - -= 1.0 = has updated files diff --git a/wp-content/plugins/youtube-to-wp-post/screenshot-1.jpg b/wp-content/plugins/youtube-to-wp-post/screenshot-1.jpg deleted file mode 100644 index 2e8a054e2788619a6c89d983fc2919a76777e1b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26062 zcmeFZbyVET(kMDO1eYMeB@lw!;E;h}2_7ss3=BHJAcI4KyF+l2U?F&L5AHg+26qjv zkG=P?_3k;}efO^W*SlY>HNCp)*HztJUEQm?x_Ta_AC>{+GHzB706;)rfPk7h^ z5WaQ++qeUe0H}{>F#zCU8HLr-+1Wvai_6Z5)5Of))SMG+59M+*ap2Cqm_fRmAxI^ z9~@0g?OmM386JE3*ASo%|6u!XW%Vx=m6ZPLs!-@30{D}yle4<{Kl}S{89QmXJD78+ zn>*RNID*X|t26#V>>wiTXl~+c@2FvKZ~J#Cs#@AR+dEm>JJ3nL6QI+!vNN-Hb^5cm zl9Gsmos+YP9oSsqwK&5gJ*SnGnFvstUsjqIC=B8TN%8Q=@Cbnf1f_U{d1ZmT+^<2x z(toFYZ4Y*Vn%g=5o!0E1w4nb;`-dVx9UfbLZSH6VH#d`Yw1?9DIbad1|J)bB|H$ue zv}XUgFGBy3mg})ITz^dKzfAMrQIERwNA@2|`&jsg+MC-w>bm2jQa>C3@cvX)fZ5N- z#e?)P2M7S5qoSgsp`xRqp<|&x{;)C8(J`@co;<;R@&tzf=T9KO!NVuO$HO5eCLtjv zrlO>zq@w)?AYou&;Nswt6A+L;drJ89**`w~f6YAn1Q22(u_N7~AQ1wP36W3;ksdk# zKOR>&G71tB(mxkJDjG5hIuZuvBku9TKk<(vK}JDEBLEhaP*BhS$N;2A zG$9c^F**+e2}mt=lvh3O9fpayoYzPUN5QUycEtZG`q)v%%Mn z2j!8F5QPvR3An>tj``iYg^HU(E0+1;)lBUF!2$?xYtf2vakIwlV9GAl&Yl;qvw;E$ zy`WHztz0xF-eI0AdwWCwdU3WsK4r)k?JEM;2UWthg{ZqMpVCRCfaN288dpa~pwL{( zj>0eLjs9a66J_9rN1PkM)sI_+>35NJnK_w%Qou=8?JWMA;QtyavES02)Oocd4CZQJ zdx$ElS?&CMV3$)9wWnjz=qL5>SG-4op)%Ff)+=15YRs9y|sD|rkM7-rR1M!tH2V{e(jzP_W;tQ0<3zLSV2yly$?W~9u} zwtKjCb7EmrW@Z(aQ0V)Uegj~0Gn5qSFi9lCG$w`0!Y}GRioFAB2syB4u6KAB@VaA& zqQUZ76s8(4`)V|X-wc-m<*y8ZBS(j%rLTL8^Zs-X=KmrH>)%FR+D=UC=Tvgx*bc1> ztSycbd$NmvdwD!9%s#uZ;l=Seh&~D_KprrBwn6u6;9wRntIu!h+sk2_{1Z(!^sCJR zepT67yd1UKkmFzTnx`8KqkNs2RS+x7$lpYp{@Eu4r)xhZD+D*Jcz9NSCB1`?13%Qs z&~%Nad3wHep9*bWswm{tIY*ETs5}6a)4fQ5*Y65dNR_m(xdF3QR$xPiPsVO=EaAD( z8lL_FAY$B8YqVH#zia;ike0c)^e*2_`7SoAy_2T<^_d*+LP&uEZXpex$}dG;SrsZK zqHZ>MMcDzn;n_uR&1}OoMp0m)#MC?64rsdDJ%0A-o}ls1k)Ts3ZqKqwCcR*6K$Q=U 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 diff --git a/wp-content/plugins/youtube-to-wp-post/screenshot-3.jpg b/wp-content/plugins/youtube-to-wp-post/screenshot-3.jpg deleted file mode 100644 index 05bcf55057be01f76c403f1ff458a0e145322f7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21742 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 diff --git a/wp-content/plugins/youtube-to-wp-post/youtube-post.php b/wp-content/plugins/youtube-to-wp-post/youtube-post.php deleted file mode 100644 index 1250ec7..0000000 --- a/wp-content/plugins/youtube-to-wp-post/youtube-post.php +++ /dev/null @@ -1,87 +0,0 @@ - \ No newline at end of file diff --git a/wp-content/plugins/youtube-to-wp-post/yp-admin.php b/wp-content/plugins/youtube-to-wp-post/yp-admin.php deleted file mode 100644 index fdc87ea..0000000 --- a/wp-content/plugins/youtube-to-wp-post/yp-admin.php +++ /dev/null @@ -1,193 +0,0 @@ -

    '.__('Please enter video URL\'s.',"mu").'

    '; - else { - $youTubeURLS = array_filter(explode("\n",$_REQUEST['videoURLs'])); - - foreach($youTubeURLS as $yt){ - $vedioID = getVideoID($yt); - if(checkYoutubeId($vedioID) == 1){ - $xml = getVideoDetails($vedioID); - if($xml->title != 'YouTube Videos') { - // load up the array - $videoDetails[$i]['videoURL'] = $yt; - $videoDetails[$i]['title'] = $xml->title; - $videoDetails[$i]['description'] = $xml->content; - $videoDetails[$i++]['thumbnail'] = "http://i.ytimg.com/vi/".$vedioID."/0.jpg"; - } - } - } - } - if(empty($videoDetails) && !empty($_REQUEST['videoURLs'])) - echo '

    '.__('Please enter valid video URL\'s.',"mu").'

    '; -} - - -if(isset($_REQUEST['submitPostData']) && $_REQUEST['submitPostData'] ){ - - $totalCount = count($_REQUEST['muTitle']); - $postCount = 0; - for($i=1;$i<=$totalCount;$i++){ - if(@in_array($i,$_REQUEST['muCheckBox'])){ - $postTitle = trim($_REQUEST['muTitle'][$i]); - $youTubeURL = trim($_REQUEST['muVideoURL'][$i]); - $postDescription = trim($_REQUEST['description'][$i]); - $postContent = $postDescription; - $postTags = $_REQUEST['muTags'][$i]; - $postCategories = @implode(',',$_REQUEST['mucategories'][$i]); - $postThumbnail = $_REQUEST['muThumbnail'][$i]; - - - $post = array( - 'post_title' => wp_strip_all_tags($postTitle), - 'post_content' => $postContent, - 'post_category' => @explode(',',$postCategories), - 'tags_input' => $postTags, - 'post_status' => 'publish', - 'post_author' => 1, - 'post_type' => 'post' - ); - - $post_id = wp_insert_post($post); - $postCount++; - - $imageurl = $postThumbnail; - $imageurl = stripslashes($imageurl); - $uploads = wp_upload_dir(); - - $filename = wp_unique_filename( $uploads['path'], basename($imageurl), $unique_filename_callback = null ); - $wp_filetype = wp_check_filetype($filename, null ); - $fullpathfilename = $uploads['path'] . "/" . $filename; - - try { - if ( !substr_count($wp_filetype['type'], "image") ) { - throw new Exception( basename($imageurl) . ' is not a valid image. ' . $wp_filetype['type'] . '' ); - } - - $image_string = fetch_image($imageurl); - $fileSaved = file_put_contents($uploads['path'] . "/" . $filename, $image_string); - if ( !$fileSaved ) { - throw new Exception("The file cannot be saved."); - } - - $attachment = array( - 'post_mime_type' => $wp_filetype['type'], - 'post_title' => preg_replace('/\.[^.]+$/', '', $filename), - 'post_content' => '', - 'post_status' => 'inherit', - 'guid' => $uploads['url'] . "/" . $filename - ); - $attach_id = wp_insert_attachment( $attachment, $fullpathfilename, $post_id ); - if ( !$attach_id ) { - throw new Exception("Failed to save record into database."); - } - require_once(ABSPATH . "wp-admin" . '/includes/image.php'); - $attach_data = wp_generate_attachment_metadata( $attach_id, $fullpathfilename ); - wp_update_attachment_metadata( $attach_id, $attach_data ); - update_post_meta($post_id,'_thumbnail_id',$attach_id); - - } catch (Exception $e) { - $error = '

    ' . $e->getMessage() . '

    '; - } - - } - } - if($postCount > 0) - echo '

    '.__('Post(s) Added Successfully.',"mu").'

    '; -?> - - -
    -

    - -
    Paste youtube url's here (Each url in different line)
    -
    -
    -
    -
    - - - - -
    -

    " name="submitYouTubeURLS" />

    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    - -
    - - - - - - - - - - - - - - - > - - - - - - - - - - - - -
    -

    " name="submitPostData" />

    -
    - - -
    \ No newline at end of file diff --git a/wp-content/themes/score/dedication/index.php b/wp-content/themes/score/dedication/index.php deleted file mode 100644 index 9332f7a..0000000 --- a/wp-content/themes/score/dedication/index.php +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -
    -
    - - - - - -

    - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - - - - - - -
    -
    - - - - - diff --git a/wp-content/themes/score/dedication/new-dedication.php b/wp-content/themes/score/dedication/new-dedication.php deleted file mode 100644 index 50d05f7..0000000 --- a/wp-content/themes/score/dedication/new-dedication.php +++ /dev/null @@ -1,92 +0,0 @@ - -
    -
    - -
    - -

    -
    -
      -
    • - - - -
    • -
    • - - This dedication is private. -
    • -
    • - - -
    • -
    • - - - -
    • -
    • - - -
    • -
    - -

    - -
    -
      - -
    - - -
    - -
    -

    -
    - - - - -
      - - - - -
    • - - -

      - - - - -
      - - - -
      -
    • - - - -
    - - - - - -
    - - - - - -
    - -
    - - -
    \ No newline at end of file diff --git a/wp-content/themes/score/dedications/index.php b/wp-content/themes/score/dedications/index.php new file mode 100644 index 0000000..537d4ce --- /dev/null +++ b/wp-content/themes/score/dedications/index.php @@ -0,0 +1,62 @@ + + + + + + + +
    +
    + + +
    + +
    + +
    + +
    + +
    + + + + + +

    + + + + + +
    + + + +
    +
    + + + diff --git a/wp-content/themes/score/dedications/single/dedicated-2-me.php b/wp-content/themes/score/dedications/single/dedicated-2-me.php new file mode 100644 index 0000000..9480458 --- /dev/null +++ b/wp-content/themes/score/dedications/single/dedicated-2-me.php @@ -0,0 +1,40 @@ +displayed_user->id ); +?> + + + + + + + +
    > + + +
    thumbnail-no-wrap"> + + + <?php if (get_post_meta(get_post_thumbnail_id(), '_wp_attachment_image_alt', true)) {
+                echo get_post_meta(get_post_thumbnail_id(), '_wp_attachment_image_alt', true);
+            } else {
+                echo get_the_title();
+            } ?> + +
    + + + + +
    +

    + + TO: +
    + + +
    + + + diff --git a/wp-content/themes/score/dedications/single/my-dedications.php b/wp-content/themes/score/dedications/single/my-dedications.php new file mode 100644 index 0000000..4647b52 --- /dev/null +++ b/wp-content/themes/score/dedications/single/my-dedications.php @@ -0,0 +1,40 @@ +displayed_user->id); +?> + + + + + + + +
    > + + +
    thumbnail-no-wrap"> + + + <?php if (get_post_meta(get_post_thumbnail_id(), '_wp_attachment_image_alt', true)) {
+                echo get_post_meta(get_post_thumbnail_id(), '_wp_attachment_image_alt', true);
+            } else {
+                echo get_the_title();
+            } ?> + +
    + + + + +
    +

    + + TO: +
    + + +
    + + + diff --git a/wp-content/themes/score/dedications/single/new-dedication.php b/wp-content/themes/score/dedications/single/new-dedication.php new file mode 100644 index 0000000..d3ed3ee --- /dev/null +++ b/wp-content/themes/score/dedications/single/new-dedication.php @@ -0,0 +1,74 @@ + + + + +

    +
    + +
    +
      +
    1. + + + This dedication is private. +
    2. +
    3. + + +
        +
      • + + +
      • +
      + +
    4. +
    5. + + +
    6. +
    7. + + +
    8. +
    9. + + +
    10. + + + +
      +
        + < ? php bp_new_dedication_invite_member_list() ? > +
      + + < ? php wp_nonce_field('groups_invite_uninvite_user', '_wpnonce_invite_uninvite_user') ? > +
      + */ + ?> +
    +
    +
    +
    +
    +
      +
      + +
      +
      + +
      + + + + +
      + + + + +
      \ No newline at end of file diff --git a/wp-content/themes/score/functions.php b/wp-content/themes/score/functions.php index 1da81d5..67c786d 100644 --- a/wp-content/themes/score/functions.php +++ b/wp-content/themes/score/functions.php @@ -184,9 +184,9 @@ function gp_enqueue_scripts() { if (!is_admin()) { wp_enqueue_script('jquery'); - //wp_enqueue_script('jqueryui'); + wp_enqueue_script('jqueryui'); - wp_enqueue_script('jqueryui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js', array('jquery')); + //wp_enqueue_script('jqueryui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js', array('jquery')); if (is_singular()) wp_enqueue_script('comment-reply'); diff --git a/wp-content/themes/score/header.php b/wp-content/themes/score/header.php index 136aeee..77eeeca 100644 --- a/wp-content/themes/score/header.php +++ b/wp-content/themes/score/header.php @@ -57,9 +57,9 @@ @@ -111,6 +111,5 @@ -
      \ No newline at end of file diff --git a/wp-content/themes/score/loop-dedication-data.php b/wp-content/themes/score/loop-dedication-data.php index f96bf42..0fd466c 100644 --- a/wp-content/themes/score/loop-dedication-data.php +++ b/wp-content/themes/score/loop-dedication-data.php @@ -1,6 +1,6 @@ ID, 'ghostpool_post_type', true); diff --git a/wp-content/themes/score/members/single/home.php b/wp-content/themes/score/members/single/home.php index e71e103..37b67bc 100644 --- a/wp-content/themes/score/members/single/home.php +++ b/wp-content/themes/score/members/single/home.php @@ -15,13 +15,11 @@
      - - - + + +