Problem about PHP code execution when a visitor posts a question on the website.

Post date: 2019-11-16 20:15:53
Views: 176
Hello everybody!

I want to make plugin that will trigger some PHP code when someone post new question. This is what I got for now:

<?php
if (!defined('QA_VERSION')) { // don't allow this page to be requested directly from browser
    header('Location: ../../');
    exit;
}
class FacebookDebugger {
    /*
     * developers.(facebook.com/docs/opengraph/using-objects
     *
     * Updating Objects
     *
     * When an action is published, or a Like button pointing to the object clicked,
     * Facebook will 'scrape' the HTML page of the object and read the meta tags.
     * The object scrape also occurs when:
     *
     *      - Every 7 days after the first scrape
     *
     *      - The object URL is input in the Object Debugger
     *          developers.)facebook.com/tools/debug
     *
     *      - When an app triggers a scrape using an API endpoint
     *           This Graph API endpoint is simply a call to:
     *
     *           POST /?id={object-instance-id or object-url}&scrape=true
     *
     * gist.github.(com/FrostyX/81d58222d1e835e24013
    */
    public function reload($url) {
        $graph = 'graph(.facebook.com/';
        $post = 'id=' . urlencode($url) . '&scrape=true';
        return $this->send_post($graph, $post);
    }
    private function send_post($url, $post) {
        $r = curl_init();
        curl_setopt($r, CURLOPT_URL, $url);
        curl_setopt($r, CURLOPT_POST, 1);
        curl_setopt($r, CURLOPT_POSTFIELDS, $post);
        curl_setopt($r, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($r, CURLOPT_CONNECTTIMEOUT, 5);
        $data = curl_exec($r);
        curl_close($r);
        return $data;
    }
}
class qa_event_clear_cache {
    public function process_event($event, $userid, $handle, $cookieid, $params) {
        /* require_once QA_INCLUDE_DIR.'app/emails.php';
        require_once QA_INCLUDE_DIR.'app/format.php';
        require_once QA_INCLUDE_DIR.'util/string.php'; */
        if ($event == 'q_post') {
            $fb = new FacebookDebugger();
            //$fb->reload('http://example(.)com/');
            $fb->reload(qa_q_path($params'postid'], $params'title'], true));
        } else {
        }
    }
}
?>

So, as you can see I am trying to add code that will clear Facebook share cache immediately after question is published. I found FB share cache clear script on Github and now I want to implement that in Q2A plugin. I am beginner in PHP, so sorry if my code is silly. Or, maybe there is some another way to do that automatically?

Thank you very much!
Please click Here to read the full story.
 
Other Top and Latest Questions:
Where can I ask the MetaFilter board all my burning questions?
World's largest sovereign wealth fund's bets on Big Tech and banking drive gains
Target to remove synthetic color from cereals by May end
Core wholesale prices rose 0.8% in January, much more than expected
Gen Z is embracing the prenup, says family law attorney: ‘The taboo of divorces is long gone’
Trump angering MAHA with glyphosate order gives Democrats an opening
Apple launches lower cost iPhone 17e and a new iPad Air powered by its M4 chip
OpenAI's Altman admits defense deal 'looked opportunistic and sloppy' amid backlash
Iran war live updates: U.S. embassy in Riyadh hit by drones, Trump promises response 'soon'
Book: finnegans wake