}
+ public function parseArticlesBusinessImmo($file)
+ {
+ $zip = new ZipArchive();
+ $zip->open($file);
+ $assets = [];
+ $xmls = [];
+ for ($i = 0; $i <= $zip->numFiles; $i++) {
+ $fname = $zip->getNameIndex($i);
+ if (stristr($fname, '__MACOSX')) {
+ continue;
+ }
+ if (!preg_match('/\.xml$/', $fname)) {
+ $assets[$this->_normalizeAssetName($fname, true)] = $i;
+ } else {
+ $xmls[$fname] = $i;
+ }
+ }
+
+ foreach ($xmls as $name => $index) {
+ $e = explode('/', $name);
+ array_pop($e);
+ $dir = implode('/', $e);
+ $xmlContent = $zip->getFromIndex($index);
+ $xmlContent = preg_replace_callback('/\<\/?[A-Za-z]+\/?\>/', function($w){
+ return mb_strtolower($w[0]);
+ }, $xmlContent);
+ $sx = simplexml_load_string($xmlContent);
+ }
+
+ }
+
+ protected function _normalizeAssetName($fname, $withDir = false)
+ {
+ if (!$withDir) {
+ $e = explode('/', $fname);
+ $fname = array_pop($e);
+ }
+ $fname = rawurldecode($fname);
+ $fname = trim(mb_strtolower($fname));
+ $fname = str_replace('_opt.', '.', $fname);
+ $fname = CubeIT_Text::removeAccents($fname);
+ return $fname;
+ }
+
public function writeArticles()
{
$mapFonts = ['OpenSans' => 'Open Sans'];
$this->lessVariables['articles-font'] = 'OpenSans';
$list = [];
+
$f = $this->book->parametres->articlesFile;
if ($f === '') {
$this->config->articlesList = $list;
return;
}
+ if ($this->book->parametres->articlesFormat === 'business-immo') {
+ $this->parseArticlesBusinessImmo($f);
+ }
+
$this->addLess('articles');
if ($this->book->parametres->articlesStyle !== 'default') {
$this->lessVariables['articles-styles'] = $this->book->parametres->articlesStyle;