PHP Classes

File: src/Installer/symlinks.php

Recommend this page to a friend!
  Classes of Scott Arciszewski   CMS Airship   src/Installer/symlinks.php   Download  
File: src/Installer/symlinks.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: CMS Airship
Content management system with security features
Author: By
Last change:
Date: 7 years ago
Size: 2,200 bytes
 

Contents

Class file image Download
<?php
declare(strict_types=1);

foreach (\
glob(ROOT . '/Cabin/*') as $dir) {
    if (\
is_dir($dir)) {
       
$name = \Airship\path_to_filename($dir);
        if (!\
is_link(ROOT . '/public/static/' . $name)) {
            if (\
is_dir(ROOT . '/public/static/' . $name)) {
                \
rmdir(ROOT . '/public/static/' . $name);
            } elseif (\
file_exists(ROOT . '/public/static/' . $name)) {
                \
unlink(ROOT . '/public/static/' . $name);
            }
            \
symlink(
               
ROOT . '/Cabin/' . $name . '/public',
               
ROOT . '/public/static/' . $name
           
);
        }

       
// Editor templates.
       
if (!\is_link(ROOT . '/Installer/skins/cabin_links/' . $name)) {
            if (\
is_dir(ROOT . '/Installer/skins/cabin_links/' . $name)) {
                \
rmdir(ROOT . '/Installer/skins/cabin_links/' . $name);
            } elseif (\
file_exists(ROOT . '/Installer/skins/cabin_links/' . $name)) {
                \
unlink(ROOT . '/Installer/skins/cabin_links/' . $name);
            }
            \
symlink(
               
ROOT . '/Cabin/' . $name . '/config/editor_templates',
               
ROOT . '/Installer/skins/cabin_links/' . $name
           
);
        }

       
// Any Motifs we ship with are suitable for all of the Cabins we ship with.
        // Less configuration headaches.
       
foreach (\glob(ROOT . '/Motifs/*') as $motifDir) {
            if (\
is_dir($motifDir)) {
               
$supplier = \Airship\path_to_filename($motifDir);

                foreach (\
glob($motifDir . '/*') as $sub) {
                   
$motif = \Airship\path_to_filename($sub);
                   
$linkFrom = $dir . '/public/motif/' . $motif;
                   
$n = 1;
                    while (\
is_link($linkFrom)) {
                        if (\
realpath($linkFrom) !== \realpath($sub)) {
                            ++
$n;
                           
$linkFrom = $dir . '/public/motif/' . $motif . '-' . $n;
                        } else {
                            break;
                        }
                    }
                    \
symlink($sub . '/public', $linkFrom);
                }

            }
        }
    }
}