Forum Replies Created

Viewing 15 replies - 166 through 180 (of 318 total)
  • Patrick

    (@paddyam)

    Hi @piotrku,

    Thanks for sharing your feedback on the plugin and the features.

    I can see how having more debugging details from the email instances could be helpful, however, I’m afraid this information, is dependent on the error reported back by the SMTP host or the mailer’s API and as such, the plugin does not have further visibility on the logs and for the specific reason behind the failing emails and further troubleshooting.

    For some more troubleshoting, I’d recommend checking with the SMTP plugin in use for the debug event logs. For instance if you’re using WP Mail SMTP or Easy WP SMTP, you can check out the Debug Events option for the specific logs linked to the errors.

    Kind regards.

    Hi @mrmocha,

    I wanted to follow-up and let you know that the development team has added your suggestion to their list for further discussion and consideration.

    In the meantime, I’d like to share that you can consider trying out WP Mail SMTP. It offers great Email Logging features, and you can export your email logs as CSV, Microsoft Excel, or EML files.

    I hope this helps! 🙂

    Plugin Support Patrick

    (@paddyam)

    Hi @bradley,

    Thanks for getting back to me and for the update.

    It’s possible that this might be specific to your setup, as we’re having difficulty replicating it on our end.

    To assist in narrowing down your setup, could you please open a support ticket and share the events export from your site. You can export this from your WordPress dashboard, Sugar Calendar » Tools page, under the Export tab)?

    Thanks, and I look forward to having this resolved.

    Plugin Support Patrick

    (@paddyam)

    Hi @delaitec,

    @robin-w, thanks for sharing your insights on the bbPress setup and the potential fix.

    I’m going to go ahead and close out this thread for now. If you’re still having trouble, feel free to respond here at your convenience, and we’ll be happy to help.

    Have a great day!

    Hi @mrmocha,

    At the moment, there isn’t a built-in way to export log data. I’ll pass your feature request along to our development team so they can consider it for our roadmap.

    Regards!

    Plugin Support Patrick

    (@paddyam)

    Hi @bradley & @ads97129,

    Thanks for your continued patience.

    I received an update from the dev team, and while we had a challenge replicating the issue as described, we narrowed down the problem to the query and included a potential fix. To fix the issue, could you please replace the current snippet with this one and let me know if it works?

    // Fixes Upcoming Events Block timezone issues.
    add_filter( 'sugar_calendar_helpers_get_upcoming_events_list_with_recurring', 'sc_lite_fix_missing_events_in_upcoming_events_block', 10, 3 );

    /**
    * Implements the fix for issues with upcoming events timezone.
    *
    * @param Event[]|false $upcoming_events The upcoming events list with recurring events.
    * @param array $args The arguments to get the events.
    * @param array $attributes The block attributes.
    *
    * @return Event[]
    */
    function sc_lite_fix_missing_events_in_upcoming_events_block( $upcoming_events, $args, $attributes ) {

    if (
    ! function_exists( 'sugar_calendar' ) ||
    sugar_calendar()->is_pro()
    ) {
    return $upcoming_events;
    }

    global $wpdb;

    $calendars_left_join = '';
    $where_calendars = '';

    // Get the category left join and where queries if necessary.
    if ( ! empty( $args['calendar_ids'] ) ) {

    if ( ! is_array( $args['calendar_ids'] ) ) {
    $args['calendar_ids'] = [ $args['calendar_ids'] ];
    }

    $term_taxonomy_ids = array_filter( array_map( 'absint', $args['calendar_ids'] ) );

    if ( ! empty( $term_taxonomy_ids ) ) {
    $calendars_left_join = 'LEFT JOIN ' . $wpdb->term_relationships . ' AS cal_terms ON ' . $wpdb->prefix . 'sc_events.object_id = cal_terms.object_id';
    $where_calendars = $wpdb->prepare(
    'AND ( cal_terms.term_taxonomy_id IN (%1$s) )',
    implode( ',', $term_taxonomy_ids )
    );
    }
    }

    $select_query = 'SELECT ' . $wpdb->prefix . 'sc_events.id FROM ' . $wpdb->prefix . 'sc_events';

    if ( ! empty( $calendars_left_join ) ) {
    $select_query .= ' ' . $calendars_left_join;
    }

    $tz = sugar_calendar_get_timezone_type() === 'off' ? 'UTC' : sugar_calendar_get_timezone();
    $tz = $tz === null ? 'UTC' : $tz;
    $now = sc_lit_fix_get_request_time( 'mysql', $tz );

    $today = gmdate( 'Y-m-d 00:00:00', strtotime( $now ) );

    $where_query = $wpdb->prepare(
    'WHERE ' . $wpdb->prefix . 'sc_events.status = "publish" AND ' . $wpdb->prefix . 'sc_events.object_subtype = "sc_event" AND '
    . $wpdb->prefix . 'sc_events.
    start >= %s AND ' . $wpdb->prefix . 'sc_events.end >= %s',
    $today,
    $now
    );

    if ( ! empty( $where_calendars ) ) {
    $where_query .= ' ' . $where_calendars;
    }

    if ( ! empty( $args['search'] ) ) {
    $where_query .= $wpdb->prepare(
    ' AND ' . $wpdb->prefix . 'sc_events.title LIKE %s',
    '%' . $wpdb->esc_like( $args['search'] ) . '%'
    );
    }

    // Add tags filter.
    if ( ! empty( $attributes['tags'] ) ) {

    $tag_ids = array_filter( array_map( 'absint', $attributes['tags'] ) );

    if ( ! empty( $tag_ids ) ) {
    // Change the SELECT query to include tag term taxonomy ID.
    $select_query = 'SELECT ' . $wpdb->prefix . 'sc_events.id, tag_terms.term_taxonomy_id AS tag_term_taxonomy_id FROM ' . $wpdb->prefix . 'sc_events';

    // Add tag JOIN - using standard WordPress term relationships table.
    $tag_taxonomy_id = Sugar_Calendar\Features\Tags\Common\Helpers::get_tags_taxonomy_id();

    // Create tag-specific join clause.
    $tags_join = 'INNER JOIN ' . $wpdb->term_relationships . ' AS tag_terms ON ' . $wpdb->prefix . 'sc_events.object_id = tag_terms.object_id';
    $tags_join .= ' INNER JOIN ' . $wpdb->term_taxonomy . ' AS tag_taxonomy ON tag_terms.term_taxonomy_id = tag_taxonomy.term_taxonomy_id';

    // Combine joins - if calendar join exists, append to it, otherwise use tag join.
    if ( ! empty( $calendars_left_join ) ) {
    $combined_join = $calendars_left_join . ' ' . $tags_join;
    } else {
    $combined_join = $tags_join;
    }

    // Update SELECT query with combined JOIN clause.
    $select_query .= ' ' . $combined_join;

    // Add tag WHERE clause - filter by taxonomy and tag IDs.
    $placeholders = implode( ',', array_fill( 0, count( $tag_ids ), '%d' ) );
    $where_query .= $wpdb->prepare(
    ' AND tag_taxonomy.taxonomy = %s AND tag_taxonomy.term_id IN (' . $placeholders . ')',
    array_merge( [ $tag_taxonomy_id ], $tag_ids )
    );
    }
    }

    $order_by = $wpdb->prepare(
    'ORDER BY ' . $wpdb->prefix . 'sc_events.start ASC LIMIT %d OFFSET %d',
    $args['number'],
    $args['offset']
    );

    $final_query = $select_query . ' ' . $where_query . ' ' . $order_by;

    // The query is prepared/sanitized individually.
    $event_ids = $wpdb->get_results( $final_query );

    if ( empty( $event_ids ) ) {
    return [];
    }

    $sugar_calendar_events_args = [
    'id__in' => wp_list_pluck( $event_ids, 'id' ),
    'orderby' => 'start',
    'order' => 'ASC',
    ];

    return sugar_calendar_get_events( $sugar_calendar_events_args );
    }

    /**
    * Implements the fix helper.
    *
    * @param string $type The type of time to return.
    * @param string $timezone The timezone to use.
    *
    * @return int The time in the requested format.
    */
    function sc_lit_fix_get_request_time( $type = 'timestamp', $timezone = 'UTC' ) {

    global $timestart;

    // Get timestart, avoid overriding the global.
    $current_timestart = absint( empty( $timestart ) ? microtime( true ) : $timestart );

    // Ensure that timezone is set.
    $timezone = empty( $timezone ) ? 'UTC' : $timezone;

    // Get the offset if not UTC.
    $is_utc = $timezone === 'UTC';

    if ( ! $is_utc ) {

    $offset = (int) sugar_calendar_get_timezone_offset(
    [
    'time' => $current_timestart,
    'timezone' => $timezone,
    'format' => 'seconds',
    ]
    );
    }

    // What type of.
    switch ( $type ) {
    // 'Y-m-d H:i:s'.
    case 'mysql':
    case 'Y-m-d H:i:s':
    $retval = $is_utc
    ? gmdate( 'Y-m-d H:i:s' )
    : gmdate( 'Y-m-d H:i:s', ( $current_timestart + $offset ) );
    break;

    // Unix timestamp.
    case 'timestamp':
    case '':
    $retval = $is_utc
    ? $current_timestart
    : $current_timestart + $offset;
    break;

    // Mixed string.
    default:
    $retval = $is_utc
    ? gmdate( $type )
    : gmdate( $type, ( $current_timestart + $offset ) );
    break;
    }

    if ( is_numeric( $retval ) ) {
    $retval = intval( $retval );
    }

    return $retval;
    }

    To clarify, with this snippet, the block will query events based on the timezone setting under your Sugar Calendar » Settings section.

    Let me know how it goes.

    Regards

    Plugin Support Patrick

    (@paddyam)

    Hi @mbdwey,

    Thanks for sharing and sorry to hear about your experience.

    First, I’d like to clarify that the WP Mail SMTP plugin is only limited to the email sending process such that, when an email is sent, the plugin simply picks up the email and hands it over to the selected mailer. However, based on your description, regarding the memory usage error, it’s possible that something else outside the plugin may have been causing this.

    To get some insight into this and help us confirm what could have caused the error, would you be willing to share with us the related error that you were receiving?

    Kind regards.

    Plugin Support Patrick

    (@paddyam)

    Hi @emanuelsaramago,

    Thanks for sharing your feedback and experience; we really appreciate your feedback and experience, and are glad you find the plugin very useful.

    Regarding the plugin being spammy, I’d like to share that the WP Mail SMTP plugin does not initiate any emails. The plugin simply bridges a connection between your WordPress site and your mailer service. This connection makes it so emails sent by your WordPress site are funneled over and delivered by your mailer service.

    However, when correctly set up, this also helps deliver spam entries, so what you need to do is to ensure that you have anti-spam options on your email source. For instance, if the emails are sent from forms, you can add a captcha to prevent spam/bot submissions.

    In case I may have missed this and you’re referring to the plugin’s marketing and newsletter emails, please note that if you’d like to update your email preferences/unsubscribe, you can do so by clicking on either the “Stop emails“, “Update subscriptions” or “Unsubscribe” options at the bottom of the newsletter email.

    Kind regards

    Plugin Support Patrick

    (@paddyam)

    Hi @wasiwarez,

    Thank you so much for your review! I’m thrilled to hear the plugin fits your needs and blends seamlessly with your theme. It’s great that the sidebar events list and full calendar view work just as you expected.

    Kind regards!

    Plugin Support Patrick

    (@paddyam)

    Hi @nserratm,

    Thanks for getting back and sorry to hear about the issue.

    To confirm, do you still have the snippet in place? I tried this with the snippet and the issue does not happen on my end.

    Kind regards.

    Plugin Support Patrick

    (@paddyam)

    Hi @ads97129,

    Thanks for getting back to me and confirming the details.

    I wasn’t able to replicate the problem on my end using the classic widget, but I’ll pass this along to our dev team for a closer look for further investigation.

    In the meantime, if possible, I’d recommend switching to one of the latest widgets. The newer widgets offer a more flexible events list display and a more intuitive look and feel.

    I hope this helps.

    Plugin Support Patrick

    (@paddyam)

    Hi @ads97129,

    Thanks for reaching out to us and sorry to hear about the challenge.

    I tested this on my end and I’m afraid I can’t replicate this. To confirm, would you please share more on how you have this setup? Would you check to ensure that you’re using the updated calendar shortcodes to show the events?

    Looking forward to hearing from you.

    Plugin Support Patrick

    (@paddyam)

    Hi @amrit514,

    First, I’d like to confirm that the weekly Email summaries are initiated and sent from the origin site, this is shown at the bottom of the email. This will provide insight on where the email is being sent from.

    To disable the weekly WP Mail SMTP summary emails, you’d need to log into the site’s WordPress admin dashboard, under WP Mail SMTP » Settings. Then, click on the Misc tab and toggle on the option ‘Disable Email Summaries.’ This would prevent the email from being sent from that specific site.

    Another alternative that would allow you to stop the emails without having to log into the sites would be to create an email filter on your email client that would filter and mark as read or drop the weekly support emails.

    I hope this helps.

    Plugin Support Patrick

    (@paddyam)

    Hi @nikdow,

    The WP Mail SMTP plugin makes use of the Action Scheduler library by WooCommerce which explain why the log points to vendor/woocommerce/action-scheduler/. This allows the plugin to manage and schedule cron jobs cron jobs on the site.

    The error that you’re seeing indicates that one of the required tables bmw.wpkkk_actionscheduler_actions used to store the scheduled items is missing on your site.

    To troubleshoot and fix the missing table issue, you can install the Action Scheduler Plugin.This will re-create the tables, and in the case where the tables do not get created, I’d recommend checking with your host for any limitations on your database preventing database table creation.

    I hope this helps.

    Plugin Support Patrick

    (@paddyam)

    Hi @allangrafil,

    With the Google Mailer option, only the authorized email can be set as the From Email.

    To set up a custom ‘From Email’ using the Gmail API, you’ll need to set up a Gmail alias. Unless you have a Gmail alias, the email address associated with your Google account will be used as the one sending the emails regardless of what is entered in the ‘From Email’ field.

    To use different From Emails with the Gmail mailer, first, you will have to configure the Gmail aliases to send emails

    For a complete walkthrough of the process, check out the setup guide.

    If the email is not added as an alias, the email then automatically switches the From Email to the authorized email address.

    I hope this helps.

Viewing 15 replies - 166 through 180 (of 318 total)