use Cubist\PDF\PDFTools;
use Cubist\Util\Files\Files;
-class ProcessFile extends \Fluidbook\Tools\Jobs\ProcessFile
-{
- protected const DISTANT_ROOT = '/application/fluidbook/docs/';
- protected const LOCAL_ROOT = '/files/';
-
- protected $page;
- protected $out;
- protected $force = false;
- protected $mobileRatio = 1;
- protected $resolutionRatio = 1;
- protected $filespath;
- protected $_job = null;
-
- public function __construct($out, $page, $resolutionRatio, $mobileRatio, $format = 'jpg', $resolution = 150, $withGraphics = true, $withTexts = true, $version = 'html', $force = false)
- {
-
- $this->setOut($out);
- $this->setPage($page);
- $this->setForce(!!$force);
- $this->setResolutionRatio($resolutionRatio);
- $this->setMobileRatio($mobileRatio);
- parent::__construct($format, $resolution, $withGraphics, $withTexts, $version);
- }
-
- /**
- * @param float $mobileRatio
- */
- public function setMobileRatio(float $mobileRatio): void
- {
- $this->mobileRatio = $mobileRatio;
- }
-
- /**
- * @param float $resolutionRatio
- */
- public function setResolutionRatio(float $resolutionRatio): void
- {
- $this->resolutionRatio = $resolutionRatio;
- }
-
- public function getMobileRatio(): float
- {
- return $this->mobileRatio;
- }
-
- public function getResolutionRatio(): float
- {
- return $this->resolutionRatio;
- }
-
-
- /**
- * @return bool
- */
- public function isForce(): bool
- {
- return $this->force;
- }
-
- /**
- * @param bool $force
- */
- public function setForce(bool $force): void
- {
- $this->force = $force;
- }
-
- /**
- * @param mixed $page
- */
- public function setPage($page): void
- {
- $this->page = $page;
- }
-
- public function getPage(): int
- {
- return $this->page;
- }
-
- public function getDistantOut()
- {
- return $this->out;
- }
-
- public function getLocalOut()
- {
- return $this->getOut();
- }
-
- public function getOut()
- {
- return str_replace(self::DISTANT_ROOT, self::LOCAL_ROOT, $this->getDistantOut());
- }
-
- /**
- * @param mixed $out
- */
- public function setOut($out): void
- {
- $this->out = $out;
- }
-
- public function process()
- {
- return str_replace(self::LOCAL_ROOT, self::DISTANT_ROOT, $this->getPath($this->isForce()));
- }
-
- public function getSplittedPDFPage()
- {
- $res = $this->getOut() . 'pdf/p' . $this->getPage() . '.pdf';
- if (!file_exists($res)) {
- PDFTools::split(Files::firstThatExists($this->getOut() . '/crop.pdf', $this->getOut() . '/fixed.pdf', $this->getOut() . '/original.pdf'), $this->getOut() . '/pdf');
- }
- return $res;
- }
+class ProcessFile extends \Fluidbook\Tools\Jobs\ProcessFile {
+ protected const DISTANT_ROOT = '/application/fluidbook/docs/';
+ protected const LOCAL_ROOT = '/files/';
+
+ protected const US_DISTANT_ROOT = '/application/usstorage/docs/';
+ protected const US_LOCAL_ROOT = '/usfiles/';
+
+ /**
+ * @var string
+ */
+ protected $region = 'UE';
+
+ protected $page;
+ protected $out;
+ protected $force = false;
+ protected $mobileRatio = 1;
+ protected $resolutionRatio = 1;
+ protected $filespath;
+ protected $_job = null;
+
+ public function __construct($out, $page, $resolutionRatio, $mobileRatio, $format = 'jpg', $resolution = 150, $withGraphics = true, $withTexts = true, $version = 'html', $force = false) {
+
+ if (stristr($out, 'usstorage')) {
+ $this->setRegion('US');
+ }
+ $this->setOut($out);
+ $this->setPage($page);
+ $this->setForce(!!$force);
+ $this->setResolutionRatio($resolutionRatio);
+ $this->setMobileRatio($mobileRatio);
+ parent::__construct($format, $resolution, $withGraphics, $withTexts, $version);
+ }
+
+ /**
+ * @param float $mobileRatio
+ */
+ public function setMobileRatio(float $mobileRatio): void {
+ $this->mobileRatio = $mobileRatio;
+ }
+
+ /**
+ * @param float $resolutionRatio
+ */
+ public function setResolutionRatio(float $resolutionRatio): void {
+ $this->resolutionRatio = $resolutionRatio;
+ }
+
+ public function getMobileRatio(): float {
+ return $this->mobileRatio;
+ }
+
+ public function getResolutionRatio(): float {
+ return $this->resolutionRatio;
+ }
+
+
+ /**
+ * @return bool
+ */
+ public function isForce(): bool {
+ return $this->force;
+ }
+
+ /**
+ * @param bool $force
+ */
+ public function setForce(bool $force): void {
+ $this->force = $force;
+ }
+
+ /**
+ * @param mixed $page
+ */
+ public function setPage($page): void {
+ $this->page = $page;
+ }
+
+ public function getPage(): int {
+ return $this->page;
+ }
+
+ public function getDistantOut() {
+ return $this->out;
+ }
+
+ public function getLocalOut() {
+ return $this->getOut();
+ }
+
+ public function getOut() {
+ if ($this->getRegion() === 'UE') {
+ return str_replace(self::DISTANT_ROOT, self::LOCAL_ROOT, $this->getDistantOut());
+ } else {
+ return str_replace(self::US_DISTANT_ROOT, self::US_LOCAL_ROOT, $this->getDistantOut());
+ }
+ }
+
+ /**
+ * @param mixed $out
+ */
+ public function setOut($out): void {
+ $this->out = $out;
+ }
+
+ /**
+ * @return string
+ */
+ public function getRegion(): string {
+ return $this->region;
+ }
+
+ /**
+ * @param string $region
+ */
+ public function setRegion(string $region): void {
+ $this->region = $region;
+ }
+
+ public function process() {
+ if ($this->getRegion() === 'UE') {
+ return str_replace(self::LOCAL_ROOT, self::DISTANT_ROOT, $this->getPath($this->isForce()));
+ } else {
+ return str_replace(self::US_LOCAL_ROOT, self::US_DISTANT_ROOT, $this->getPath($this->isForce()));
+ }
+ }
+
+ public function getSplittedPDFPage() {
+ $res = $this->getOut() . 'pdf/p' . $this->getPage() . '.pdf';
+ if (!file_exists($res)) {
+ PDFTools::split(Files::firstThatExists($this->getOut() . '/crop.pdf', $this->getOut() . '/fixed.pdf', $this->getOut() . '/original.pdf'), $this->getOut() . '/pdf');
+ }
+ return $res;
+ }
}
\ No newline at end of file