<?php
/*
Plugin Name: FeedReplacement
Description:
Author: Victor Bracco
Author URI: http://www.vbracco.com.ar/
Version: 0.3
*/
class feedreplacement extends plugins
{
    public function feedreplacement()
    {
        global $user, $conf, $tumble;

        //agregar al los panel de options un input mas
        $this->addAction('add_options_panel', 'feedreplacement_setOptionsPanel');

        //crea o verifica que la opcion que usa de la tabla de opciones esta creada
        $this->addAction('sorbet_init', 'feedreplacement_check');

        //reemplaza el link del feed de sorbet por el link de feedburner
        //$this->addAction('add_post', 'dameCinco');

        //lo mismo pero con el que esta en el header
        $this->addAction('sorbet_includes', 'feedreplacement_includeFeed');

        //redirecting all trafic
        $this->addAction('feed_header', 'feedreplacement_redirect');

        //guarda la opcion si viene por POST
        if ($user->isAdmin()) {
            if (isset($_POST["feedreplacement_url"])) {
                if (!$tumble->saveOption($_POST["feedreplacement_url"], "feedreplacement_url")) {
                    header("Location: ".$conf->urlSorbet."/admin/options.php?error=1&des=".$conf->merror);
                    die();
                }
            }
        }
    }

    public function feedreplacement_setOptionsPanel()
    {
        global $conf;
        echo '<li><label class="help" for="feedreplacement_url">'.__("Replacement Feed:").'</label>
		<input type="text" name="feedreplacement_url" id="feedreplacement_url" value="'.$conf->get_option('feedreplacement_url').'" class="txt help" title="'.__("Introduce your new feed url into this input").'"/></li>';
    }

    public function feedreplacement_check()
    {
        global $db,$conf;
        $sqlStr = "SELECT COUNT(*) as exist FROM `".$conf->tablePrefix."options` WHERE name='feedreplacement_url' LIMIT 1";
        if ($db->ejecutarConsulta($sqlStr)) {
            $row=$db->obtenerRegistro();
            if ($row["exist"]==0) {
                $sql = "INSERT INTO `".$conf->tablePrefix."options` VALUES ('feedreplacement_url', '');";
                $db->ejecutarConsulta($sql);
            }
        }
    }

    public function feedreplacement_includeFeed()
    {
        global $conf,$sorbet_includes,$feed_url;
        $feedreplacement_url = $conf->get_option('feedreplacement_url');
        if ($feedreplacement_url!="") {
            $feed_url = $feedreplacement_url;
        }
    }

    public function feedreplacement_redirect()
    {
        global $conf;
        $feedreplacement_url = $conf->get_option('feedreplacement_url');
        if (!preg_match("/feedburner|feedvalidator/i", $_SERVER['HTTP_USER_AGENT'])) {
            header("Location: ".$feedreplacement_url);
            header("HTTP/1.1 302 Temporary Redirect");
            exit();
        }
    }
}
