require 'autoload.php';

$script = eZScript::instance( array(
                'description'    => ( "Clear all varnish for the given url pattern" ),
                'use-modules'    => true,
                'use-extensions' => true,
                'debug-output'   => false,
) );

$script->startup();

$options = $script->getOptions( "[uri:][clusterIdentifier:]", "", array(
    'uri'                   => 'Uri pattern to clear',
    'clusterIdentifier'     => '(optional) clusterIdentifier'
) );

$script->initialize();

$uri = isset($options['uri']) ? $options['uri'] : null;
$clusterIdentifier = isset($options['clusterIdentifier']) ? $options['clusterIdentifier'] : null;

if ( is_null($uri) )
    $script->shutdown(1, "Missing mandatory parameter uri.");

$varnishControl = new VarnishControl();
$varnishControl->isVerbose = $script->verboseOutputLevel() + 1;
$varnishControl->banUri( '/url/'.$uri, $clusterIdentifier );

$script->shutdown();

    // we let the search plugin deal with the indexation and flag the nodes not to be reindexed
    eZContentOperationCollection::registerSearchObject($object_id, false);
    eZContentObject::clearCache();
}

$i = 0;

//solrObjects
foreach($solrJsonObjects as $solrJsonObject)
{
    if (!($i%200) )
    {
        echo "Traitement Solr : $i\n";
    }

    $i++;

    $solrIndexationJob = new SolrIndexationJob(null);
    $solrIndexationJob->setAttribute('data', $solrJsonObject);
    $solrIndexationJob->store();
}

// Purge varnish cache of listing sort by most views :
echo "Purge varnish cache of listing sort by most views (".count($varnish_node_ids)." objects)\n";
$varnishControl = new VarnishControl();
$varnishControl->banMostViews( $varnish_node_ids );
// Purge varnish cache for homepage
echo "Purge varnish cache for homepage";
$varnishControl->banUri('/esibuild/main_view/app_content//');