Files
domokits/local/modules/DHL/Loop/CheckRightsLoop.php

92 lines
2.8 KiB
PHP

<?php
namespace DHL\Loop;
use DHL\DHL;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Element\BaseLoop;
use Thelia\Core\Template\Element\LoopResultRow;
use Thelia\Core\Template\Element\LoopResult;
use Thelia\Core\Template\Element\ArraySearchLoopInterface;
use Thelia\Core\Translation\Translator;
/**
* Class CheckRightsLoop
* @package DHL\Loop
* @author Laurent LE CORRE <laurent@thecoredev.fr>
*/
class CheckRightsLoop extends BaseLoop implements ArraySearchLoopInterface
{
protected function getArgDefinitions()
{
return new ArgumentCollection();
}
public function buildArray()
{
$ret = array();
$dir = __DIR__."/../Config/";
if (!is_readable($dir)) {
$ret[] = array(
"ERRMES"=>Translator::getInstance()->trans(
"Can't read Config directory",
[],
DHL::DOMAIN_NAME
),
"ERRFILE"=>""
);
}
if (!is_writable($dir)) {
$ret[] = array(
"ERRMES"=>Translator::getInstance()->trans(
"Can't write Config directory",
[],
DHL::DOMAIN_NAME
),
"ERRFILE"=>""
);
}
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if (strlen($file) > 5 && substr($file, -5) === ".json") {
if (!is_readable($dir.$file)) {
$ret[] = array(
"ERRMES"=>Translator::getInstance()->trans(
"Can't read file",
[],
DHL::DOMAIN_NAME
),
"ERRFILE"=>"DHL/Config/".$file
);
}
if (!is_writable($dir.$file)) {
$ret[] = array(
"ERRMES"=>Translator::getInstance()->trans(
"Can't write file",
[],
DHL::DOMAIN_NAME
),
"ERRFILE"=>"DHL/Config/".$file
);
}
}
}
}
return $ret;
}
public function parseResults(LoopResult $loopResult)
{
foreach ($loopResult->getResultDataCollection() as $arr) {
$loopResultRow = new LoopResultRow();
$loopResultRow->set("ERRMES", $arr["ERRMES"])
->set("ERRFILE", $arr["ERRFILE"]);
$loopResult->addRow($loopResultRow);
}
return $loopResult;
}
}