Exemple #1
0
 public function CreateSprite(CssSprite $sprite)
 {
     if ($sprite->exists()) {
         return;
         //--- Спрайт существует
     }
     $this->LOGGER->info("Waiting to make {$sprite}");
     PsLock::lockMethod(__CLASS__, __FUNCTION__);
     try {
         if ($sprite->exists()) {
             $this->LOGGER->info('Sprite was created in another thread, skipping');
         } else {
             $this->PROFILER->start('Sprite creation');
             $this->CssSpriteGen->CreateSprite($sprite);
             $this->LOGGER->info('Sprite was successfully created, path: ' . $sprite->getCssDi()->getAbsPath());
             $this->PROFILER->stop();
         }
     } catch (Exception $ex) {
         PsLock::unlock();
         throw $ex;
     }
     PsLock::unlock();
 }
Exemple #2
0
 private function doCopy(DirItem $from, DirItem $to)
 {
     $from->assertIsImg();
     PsLock::lockMethod(__CLASS__, __FUNCTION__);
     try {
         //Очистим нагенерённое для той картинки, В КОТОРУЮ копируем
         $this->doClean($to);
         //Картинка не была пересоздана в другом потоке
         SimpleImage::inst()->load($from)->save($to, SYSTEM_IMG_TYPE)->close();
     } catch (Exception $ex) {
         PsLock::unlock();
         throw $ex;
     }
     PsLock::unlock();
 }