Forum Replies Created

Viewing 15 replies - 1 through 15 (of 39 total)
  • Thread Starter foreclosurepedia

    (@foreclosurepedia)

    I appreciate your efforts. All I know is that when BBQ is on it triggers the error when I attempt to open CiviCRM Case and prevents the Activities to show. When I deactivate it the error goes away. Are there some kind of specific logs I could produce that might give a better clue? I love the plugin because I set it and done. One of the best ones out there as it is lightweight and does what it is supposed to do with no muss and no fuss. 😉

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcontact%2Fview%2Fcase&action=view&reset=1&id=2 is an example of one time and was inside CiviCRM Cases

    Not a coder but: Blocked URL pattern: https://aggate.org/wp-admin/admin-ajax.php
    With POST data containing: action=civicrm

    And the referring page where the error surfaces:
    https://aggate.org/civicrm/contact/view?reset=1&cid=XX&selectedChild=activity

    The XX is a numeric contact ID that varies per record.
    The mechanism: CiviCRM’s DataTables grid on the Activities tab fires a background AJAX POST to wp-admin/admin-ajax.php with action=civicrm in the POST body. BBQ intercepts that request and blocks it. DataTables receives no response and throws the table id=case_id_1 – Ajax error (DataTables TN/7).

    WP version 7 CiviCRM version 6.14.1 – On Amazon AWS Lightsail Debian AWS EC2 Debian 12 · Apache 2.4.67 · PHP 8.2.31

    • This reply was modified 6 days, 12 hours ago by foreclosurepedia. Reason: added info
    • This reply was modified 6 days, 12 hours ago by foreclosurepedia. Reason: added info
    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    For those trying to get help and run across this, below is the fix. No help was ever forthcoming from Masterstudy other than to tell me to pay them money for what was broke on their end. I also didn’t like how when you completed a course that only the small arrow would point you back so I changed the code and added a Return to Dashboard in the popup. You can take the code and make a plugin if you don’t want to always enter the code in the functions.php and lessons.php files and I simply went with upon course completion send an email to admin and not each quiz. I also tailored the email to admin with other info.

    /wp-content/plugins/masterstudy-lms-learning-management-system/_core/lms/classes/lesson.php

    346

    /Completed label/
    $threshold = STM_LMS_Options::get_option( ‘certificate_threshold’, 70 );
    $data[‘course_completed’] = intval( $threshold ) <= intval( $data[‘course’][‘progress_percent’] );
    /Notice hook/
    if ( $data[‘course_completed’] ) {
    do_action( ‘custom_course_completed’, get_current_user_id(), $course_id );
    }
    $data[‘certificate_url’] = STM_LMS_Course::certificates_page_url( $course_id );

        return $data;
    }

    functions.php

    128

    //Email to Admin on Course Completion
    add_action(‘custom_course_completed’, ‘notify_admin_on_course_completed’, 10, 2);
    function notify_admin_on_course_completed($user_id, $course_id) {
    $transient_key = “course_completed_notice_{$user_id}_{$course_id}”;

    // Prevent duplicate emails
    if ( get_transient($transient_key) ) return;

    set_transient($transient_key, true, DAY_IN_SECONDS);

    $admin_email = 'xxxxxxx';
    $user_info = get_userdata($user_id);
    $course_title = get_the_title($course_id);

    $subject = 'Course Completed Notification';
    $message = sprintf("User %s has completed the course: %s.\n\n", $user_info->user_login, $course_title);
    // Add more details

    $message .= “Enter their License in Canvas.\n\n”;
    $message .= “Login here: https://badgr.com/public/issuers/MTeY7t73QKio5Ax601NxPQ/badges&#8221;;
    wp_mail($admin_email, $subject, $message);
    }

    //Redirect After Quiz to User Account
    add_action(‘wp_footer’, function () {
    ?>

    • This reply was modified 1 year ago by foreclosurepedia. Reason: removed email address
    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    It asks for a Freemius email address. I bought your theme and plugin on ThemeForest 4 years ago. I have the code and such, but I have never dealt with Freemius. What needs to happen there?

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    I will post there, but this is a programmatic issue on your end. So, it really isn’t a feature, it is something that is pre-packaged and doesn’t work on my end. So, is there a forum to get help or since I actually bought the product am I just left out in the cold?!

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    If I enter the following in the functions.php file it sends the Quiz info to the Admin, but when the Quiz Submit button is hit, it says in a perpetual loading mode in the blue button with the white circle continuing to spin. To break out you have to hit next.

    add_action(‘stm_lms_quiz_passed’, ‘notify_admin_on_quiz_pass’, 10, 2);

    function notify_admin_on_quiz_pass($quiz_id, $user_id) {
    $user_info = get_userdata($user_id);
    $quiz_title = get_the_title($quiz_id);
    $course_id = get_post_meta($quiz_id, ‘quiz_course’, true);
    $course_title = get_the_title($course_id);

    $results = STM_LMS_Helpers::get_quiz_user_time($quiz_id, $user_id);
    $progress = $results['user_mark'];
    $passing_grade = get_post_meta($quiz_id, 'passing_grade', true);
    
    $to = get_option('admin_email');
    $subject = "Quiz Completed: {$quiz_title}";
    $message = "{$user_info->user_login} completed the {$quiz_title} on the course {$course_title} with a Passing grade of {$passing_grade} and a result of {$progress}.";
    
    wp_mail($to, $subject, $message);

    }

    Tried to inline code that but it didn’t work.

    Fixing this is a serious issue as I cannot rummage through hundreds of students every hour to figure out who took the tests. And as I bought the Pro version years ago and half the plugins now are yet a new Pro version I cannot run Reports or anything to try and figure it out that way.

    I mean this should really be a built in function to deliver to Admin.

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    Same error now on 3 different sites I run.

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    Somehow I had ended up creating two Courses pages. One was deleted which was originally created in 2018. I renamed that page as per your instructions and then deleted the other page. Works flawlessly now. Thanks for the point in the right direction as I would have never figured it out. I forever worked without Gutenberg and have only recently moved towards it as this has been a project on ice for quite some time.

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    This is the Courses Page

    View post on imgur.com

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    Doesn’t look like mine. WordPress v6.3.2|MasterStudy Theme 4.8.19

    View post on imgur.com

    I cannot rename nor can I create any new classes without the courses__trashed/ preface. This is a hard coded fluke. What I need to know is where the page is being created/saved in the code. I’ve had the theme for years and never an issue like this and no newly added plugins. Something is causing the permalinks setting in the above second image to add the preface.

    It has taken over ALL of my classes now. Here is how I have to access them:

    https://university.iafst.org/courses__trashed/the-work-order/

    View post on imgur.com

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    Even attempting to add a new course prepends the courses_trashed so what is going on?! Screenshot below.

    View post on imgur.com

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    Below was the reply from the Google Lead Engineer. Do you have suggestions how to deploy this within Wordfence, sans the .htaccess file? Both are currently running; however, the “locking down of the IP addresses” so to speak has not begun as it still reads no firewall protection deployed on the Google side.

    “The guidance for the firewall rules is intended to protect your origin from direct attacks. The location of your origin is discoverable information, so attackers could hit it directly and bypass Shield.

    All of your legitimate traffic should now be passing through Project Shield. Therefore, you should be able to block everything that is not Shield from reaching your origin. If you also want to allow some other Wordfence IPs at their recommendation, that’s ok – blocking most of the rest of the internet is still a clear improvement to the safety of your server.

    We advise you to do this for any page that is publicly accessible – not just your login. You want to block access to any page an attacker could hit. Unfortunately we are not able to assist directly with your origin setup. I can say that a .htaccess file is a common method of doing this kind of blocking, and those articles look like the right information.

    Lastly, we do want to reassure you that you already have a lot of protection without taking this last step. This is a recommended step, but not required.”

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    I appreciate such a quick reply! I am currently running Wordfence and have for some years now. So, obviously I want to deploy Project Shield in conjunction with Wordfence. My theory is that it is similar to how Cloudflare works. They are a reverse proxy, by statement and definition which is why I stated that NTP is enabled and Use the X-Forwarded-For HTTP header is selected referencing my Wordfence settings. I presume they are correct (but do not know) and still do not know if their IPs should be added into the Trusted Proxies in Wordfence.

    I will forward this to Project Shield and look forward to your reply and will post theirs, regardless. As it is a Google Project, I believe it has significant value not only to journalists such as myself, but the entirety of the internet based upon the ability to learn from the data traffic itself, much like Wordfence.

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    All good! And thank you for the reply! I can confirm I installed it on WP v6.0 with zero issues. Added @mail.com and @rambler.ru as they seemed to present an issue. I do have Restrict Content Pro as my Membership plugin, though. Do you have any suggestions in how I should hook your plugin into RCP to ensure that they cannot register with the domains I list in Ban Hammer? As a side note, it appears that the minute they try to login they get blocked which I found in the logs of WordFence.

    Thanks again for all of your hard work in this plugin!

    Thread Starter foreclosurepedia

    (@foreclosurepedia)

    Very good. I still do not have a solution, but appreciate your time!

Viewing 15 replies - 1 through 15 (of 39 total)