public function run($request)
 {
     if (!$this->cachePublisher) {
         Injector::inst()->inject($this);
     }
     $url = $request->getVar('publish_url');
     echo "Publish {$url}<br/>\n";
     if (!strlen($url)) {
         exit("Invalid URL");
     }
     $this->cachePublisher->publishPages(array($url));
 }
 public function process()
 {
     $urls = $this->urls;
     if (!count($urls)) {
         $this->currentStep = $this->totalSteps;
         $this->isComplete = true;
         return;
     }
     $url = array_shift($urls);
     $stage = Versioned::current_stage();
     Versioned::reading_stage('Live');
     $this->cachePublisher->publishPages(array($url));
     Versioned::reading_stage($stage);
     $this->urls = $urls;
     $this->currentStep++;
     if (!count($urls)) {
         $this->currentStep = $this->totalSteps;
         $this->isComplete = true;
     }
 }
 function unpublishPages($urls)
 {
     $keyPrefix = null;
     // we do the base one first
     $this->cachePublisher->unpublishUrls($urls, $keyPrefix);
 }