Skip to content

Instantly share code, notes, and snippets.

@nerrad
nerrad / hipchatcurl.pl
Created February 5, 2014 14:49
Curl string for pinging HipChat server. Event Espresso (one of my clients) is trying out the hipchat.com service and they have a really cool api for sending notifications/messages to the chat rooms. So I wired up our git deploy repo on our server to notify the chatrooms whenever we deploy. Here's the one liner script I added.
curl --data "room_id=99999" --data "from=EEWebsiteBot" --data-urlencode "message=Event Espresso staging servers (beta and dev) have been deployed to" --data "message_format=text" --data "notify=1" --data "color=purple" https://api.hipchat.com/v1/rooms/message?auth_token=obsfucated_api_token
##So the room_id corresponds to what room you want the notifications go to and the auth token is the api key you generate via the group admin in HipChat (web).
@nerrad
nerrad / testfix-request-error.php
Created February 11, 2014 14:53
Add this to the file '/core/EE_Module_Request_Router.core.php' around line 74 just inside get_route($WP) method.
//currently there is
public function get_route($WP) {
$this->WP = WP
/**more original code below here**/
}
//you want modify so you see this
public function get_route( $WP ) {
$this->WP = WP
if ( ! EE_Registry::instance()->REQ instanceof EE_Request_Handler )
@nerrad
nerrad / test-fix-cpt-strategy.php
Created February 11, 2014 16:04
possible fix for Warning: Illegal offset type in isset or empty in .../plugins/event-espresso-core-reg/core/CPTs/EE_CPT_Strategy.core.php on line 159
/**
* in file /core/CPTs/EE_CPT_Strategy around line 155 you'll see
* public function pre_get_posts( $WP_Query ) {
* Right after that line on a new line add the following:
*/
if ( ! $WP_Query instanceof WP_Query || empty( $WP_Query->query_vars ) )
return;
@nerrad
nerrad / docblock example.php
Created February 27, 2014 17:58
An example of how spacing can cause problems with phpdoc parsing.
//below is an example of proper spacing
/**
* This is a summary
* This is a longer description etc.
*
* @abstract
* @param string $some_param A string
* @returns void
**/
@nerrad
nerrad / cssclassgenerator.php
Created March 7, 2014 21:57
Example for dynamic css class generators for use in EE
<?php
//here's the example function
function get_ticket_css_class( EE_Ticket $ticket, $context = 'ticket-item' ) {
return apply_filters( 'FHEE__get_ticket_css_class', $context . '-' . sanitize_title( $ticket->get('TKT_name') ), $ticket, $context );
}
//then in html template
?>
<tr class="<?php echo get_ticket_css_class($ticket, 'ticket-row'); ?>">
@nerrad
nerrad / Messages_CSS_File_Filter_Example.php
Created March 18, 2014 23:08
using new messages css file filters
<?php
function ee_inline_css_swap( $path_or_url, $type ) {
$upload_dir = wp_upload_dir();
if ( $type == 'preview' ) {
$path_or_url = $upload_dir['baseurl'] . '/email-messenger-inline-preview-css.template.css';
} elseif ( $type === FALSE ) {
$path_or_url = $upload_dir['basedir'] . '/email-messenger-inline-css.template.css';
}
return $path_or_url;
@nerrad
nerrad / convert_zero_to_free_filter_example.php
Last active August 29, 2015 13:57
Usage of FHEE__EEH_Template__format_currency__amount filter to return free instead of 0.00 for free tickets
<?php
function convert_zero_to_free( $amount, $return_raw ) {
// we don't want to mess with requests for unformated values because those may get used in calculations
return $return_raw || $amount >= 0 ? $amount : __('free', 'event_espresso');
}
add_filter( 'FHEE__EEH_Template__format_currency__amount', 'convert_zero_to_free', 10, 2 );
@nerrad
nerrad / espresso_bump_my_dates.php
Last active August 29, 2015 14:03
Trying to Test EE4 but all of your example dates have expired ?Use this function to bump all of your event and ticket dates forward in time by 1 month.
class EEBumpDatesForward {
/**
* constant and properties related to wp cron schedules.
*/
const bumpDatesScheduleInterval = 'daily';
private $_scheduleIntervals;
public function __construct() {
@nerrad
nerrad / filter-events-to-posts.php
Last active August 29, 2015 14:13
Filter for injecting Event Espresso event post type events into everywhere posts are queried in WP
<?php
/**
* This is an alternative filter for adding events to posts.
*
* 1. Adds events to ANY query for posts (including core wp functions like wp_recent_posts() that suppress filters ).
* 2. Ensures we don't accidentally add posts (and events) into custom queries for other post types. (eg sliders).
*/
function add_espresso_events_to_posts( $WP_Query ) {
if ( $WP_Query instanceof WP_Query && ( $WP_Query->is_feed || $WP_Query->is_posts_page || ( $WP_Query->is_home && ! $WP_Query->is_page ) || ( isset( $WP_Query->query_vars['post_type'] ) && ( $WP_Query->query_vars['post_type'] == 'post' || is_array( $WP_Query->query_vars['post_type'] ) && in_array( 'post', $WP_Query->query_vars['post_type'] ) ) ) ) ) {
@nerrad
nerrad / modify_series_post_links_by_context.php
Created February 25, 2012 22:11
Organize Series and organize-series-multiples: allowing for post links for posts that belong to multiple series to have a context saved when clicked from series archive page. This doesn't work as is - gonna move to the main file and fix.
<?php
add_filter('init', 'modify_series_link_context');
function modify_series_link_context() {
add_filter('post_link', 'multi_series_link_mod', 10, 3);
add_filter('get_the_series', 'multi_series_get_mod');
}
function multi_series_link_mod($permalink, $post, $leavename) {
//is the displayed page a series archive page? If so, then let's make sure we append a request variable to the post links for this series.