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

Post date: 2019-11-16 20:15:53
Views: 185
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:
From a Fed decision to Big Tech earnings: What drove last week's volatile market
As Warsh’s Fed faces pressure to act on inflation, these indicators show it’s at its lowest in years
How to find the bus/shuttle from Rockaway Beach BACK to the ferry?
OpenAI's Hugging Face hack confirmed months of AI cyber warnings: 'Pandora's box is open'
Book: Purgatorio: Canto 27
Movie: An Elephant Sitting Still
Movie: Horatio's Drive: America's First Road Trip
Movie: Water Park Shark
Tankers near Oman come under fire as Iran threatens to choke off shipping routes
Trump Media's new paid data service goes live, giving clients faster access to Trump’s posts