diff options
-rw-r--r-- | app/class/controllerart.php | 1 | ||||
-rw-r--r-- | app/class/controllerfont.php | 33 | ||||
-rw-r--r-- | app/class/model.php | 17 | ||||
-rw-r--r-- | app/class/modelfont.php | 53 | ||||
-rw-r--r-- | app/class/modelrender.php | 4 | ||||
-rw-r--r-- | app/class/routes.php | 2 | ||||
-rw-r--r-- | app/view/templates/edittabs.php | 2 | ||||
-rw-r--r-- | assets/css/css_old/styleadmin.css | 80 | ||||
-rw-r--r-- | assets/css/css_old/stylebase.css | 85 | ||||
-rw-r--r-- | assets/css/css_old/styleedit.css | 241 | ||||
-rw-r--r-- | assets/css/css_old/stylehome.css | 117 | ||||
-rw-r--r-- | assets/css/css_old/styleinfo.css | 80 | ||||
-rw-r--r-- | assets/css/css_old/stylemedia.css | 103 | ||||
-rw-r--r-- | assets/css/css_old/stylerecord.css | 79 | ||||
-rw-r--r-- | assets/css/old/styleedit.css | 27 | ||||
-rw-r--r-- | assets/global/fonts.css | 45 | ||||
-rw-r--r-- | assets/global/global.css (renamed from assets/css/global/global.css) | 0 |
17 files changed, 148 insertions, 821 deletions
diff --git a/app/class/controllerart.php b/app/class/controllerart.php index f766d12..6740f9c 100644 --- a/app/class/controllerart.php +++ b/app/class/controllerart.php @@ -90,6 +90,7 @@ class Controllerart extends Controller $artexist = $this->importart(); $canread = $this->user->level() >= $this->art->secure(); $alerts = ['alertnotexist' => 'This page does not exist yet', 'alertprivate' => 'You cannot see this page']; + $page = ['head' => '', 'body' => '']; if ($artexist) { diff --git a/app/class/controllerfont.php b/app/class/controllerfont.php new file mode 100644 index 0000000..29064d2 --- /dev/null +++ b/app/class/controllerfont.php @@ -0,0 +1,33 @@ +<?php + +class Controllerfont extends Controller +{ + + protected $fontmanager; + + public function __construct($router) + { + parent::__construct($router); + $this->fontmanager = new Modelfont(); + + } + + public function desktop() + { + var_dump($this->fontmanager->getfontlist()); + } + + public function render() + { + $this->fontmanager->renderfontface(); + $this->routedirect('font'); + } + + public function addfont() + { + + } +} + + +?>
\ No newline at end of file diff --git a/app/class/model.php b/app/class/model.php index cd0733c..600e930 100644 --- a/app/class/model.php +++ b/app/class/model.php @@ -8,6 +8,7 @@ abstract class Model const MEDIA_DIR = 'media' . DIRECTORY_SEPARATOR; const TEMPLATES_DIR = '.'. DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'view' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR; const RENDER_DIR = 'assets'. DIRECTORY_SEPARATOR . 'render' . DIRECTORY_SEPARATOR; + const GLOBAL_DIR = 'assets'. DIRECTORY_SEPARATOR . 'global' . DIRECTORY_SEPARATOR; const DATABASE_DIR = '.' . DIRECTORY_SEPARATOR . 'database' . DIRECTORY_SEPARATOR; const MEDIA_EXTENSIONS = array('jpeg', 'jpg', 'JPG', 'png', 'gif', 'mp3', 'mp4', 'mov', 'wav', 'flac', 'pdf'); const MEDIA_TYPES = ['image', 'video', 'sound', 'other']; @@ -23,6 +24,15 @@ abstract class Model return DIRECTORY_SEPARATOR . $basepath . Model::RENDER_DIR; } + public static function globalpath() + { + $basepath = ''; + if(!empty(Config::basepath())) { + $basepath = Config::basepath() . DIRECTORY_SEPARATOR ; + } + return DIRECTORY_SEPARATOR . $basepath . Model::GLOBAL_DIR; + } + public static function csspath() { $basepath = ''; @@ -45,12 +55,9 @@ abstract class Model { $basepath = ''; if(!empty(Config::basepath())) { - $basepath = Config::basepath() . DIRECTORY_SEPARATOR ; + $basepath = Config::basepath() . '/' ; } - $url = DIRECTORY_SEPARATOR . $basepath . Model::FONT_DIR; - return $url; + return '/' . $basepath . str_replace('\\', '/',Model::FONT_DIR); } - - } diff --git a/app/class/modelfont.php b/app/class/modelfont.php index 11ce6dd..09f2ddd 100644 --- a/app/class/modelfont.php +++ b/app/class/modelfont.php @@ -2,10 +2,27 @@ class Modelfont extends Model { + + const FONT_TYPES = ['woff2', 'woff', 'otf', 'ttf', 'eot', 'svg']; + + + public function getfontlist() + { + return $this->fontlist($this->list()); + } + + public function renderfontface() + { + $list = $this->list(); + $fontlist = $this->fontlist($list); + $fontface = $this->fontface($fontlist); + $this->write($fontface); + } + + public function list() { - var_dump(Model::fontpath()); - if ($handle = opendir(Model::fontpath())) { + if ($handle = opendir(Model::FONT_DIR)) { $list = []; while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { @@ -19,6 +36,38 @@ class Modelfont extends Model return $list; } + + public function fontlist(array $list) + { + $fontlist = []; + $fonttypes = implode('|', $this::FONT_TYPES); + $regex = '#(.+)\.('.$fonttypes.')#'; + foreach ($list as $font) { + if(preg_match($regex, $font, $out)) { + $fontlist[] = ['id' => $out[1], 'ext' =>$out[2]]; + } + } + + return $fontlist; + } + + public function fontface(array $fontlist) + { + $fontface = ''; + foreach ($fontlist as $font) { + $fontface .= '@font-face {' . PHP_EOL . 'font-family: ' . $font['id'] . ';' . PHP_EOL . ' src: url( ' . Model::fontpath() . $font['id'] .'.'. $font['ext'] . ');' . PHP_EOL . '}' . PHP_EOL . PHP_EOL; + } + return $fontface; + } + + + public function write(string $fontface) + { + $write = file_put_contents(Model::GLOBAL_DIR.'fonts.css', $fontface); + if($write !== false) { + + } + } } diff --git a/app/class/modelrender.php b/app/class/modelrender.php index 37bc741..4eab655 100644 --- a/app/class/modelrender.php +++ b/app/class/modelrender.php @@ -124,6 +124,8 @@ class Modelrender extends Modelart $head .= '<title>' . $this->art->title() . '</title>' . PHP_EOL; $head .= '<meta name="description" content="' . $this->art->description() . '" />' . PHP_EOL; $head .= '<meta name="viewport" content="width=device-width" />' . PHP_EOL; + $head .= '<link href="' . Model::globalpath() . 'fonts.css" rel="stylesheet" />' . PHP_EOL; + $head .= '<link href="' . Model::globalpath() . 'global.css" rel="stylesheet" />' . PHP_EOL; if (isset($this->art->template('array')['quickcss'])) { $tempaltequickcssart = $this->art->template('array')['quickcss']; @@ -332,7 +334,7 @@ class Modelrender extends Modelart $this->artlistsort($li, 'date', -1); foreach ($li as $item ) { if($item->id() === $this->art->id()) { - $actual = ' actual'; + $actual = ' actualpage'; } else { $actual = ''; } diff --git a/app/class/routes.php b/app/class/routes.php index 2215b5f..e5175aa 100644 --- a/app/class/routes.php +++ b/app/class/routes.php @@ -18,6 +18,8 @@ class Routes ['POST', '/!co', 'Controllerconnect#log', 'log'], ['GET', '/!co', 'Controllerconnect#connect', 'connect'], ['GET', '/!m', 'Controllermedia#desktop', 'media'], + ['GET', '/!font', 'Controllerfont#desktop', 'font'], + ['GET', '/!font/render', 'Controllerfont#render', 'fontrender'], ['GET', '/[cid:art]/', 'Controllerart#read', 'artread/'], ['GET', '/[cid:art]', 'Controllerart#read', 'artread'], ['GET', '/[cid:art]/add', 'Controllerart#add', 'artadd'], diff --git a/app/view/templates/edittabs.php b/app/view/templates/edittabs.php index 62d86ad..6e1562a 100644 --- a/app/view/templates/edittabs.php +++ b/app/view/templates/edittabs.php @@ -7,7 +7,7 @@ foreach ($tablist as $key => $value) { <input name="interface" type="radio" value="<?= $key ?>" id="tab<?= $key ?>" class="checkboxtab" <?= $key == $opentab ? 'checked' : '' ?> > - <label for="tab<?= $key ?>" <?= empty($template[$key]) ? '' : 'title="'.$template[$key].'" ' ?> class="<?= empty($template[$key]) ? '' : 'template' ?> <?= empty($value) ? '' : 'edited' ?>"><?= $key ?> </label> + <label for="tab<?= $key ?>" <?= empty($template[$key]) ? '' : 'title="template : '.$template[$key].'" ' ?> class="<?= empty($template[$key]) ? '' : 'template' ?> <?= empty($value) ? '' : 'edited' ?>"><?= $key ?> </label> <?php diff --git a/assets/css/css_old/styleadmin.css b/assets/css/css_old/styleadmin.css deleted file mode 100644 index a3fcc5c..0000000 --- a/assets/css/css_old/styleadmin.css +++ /dev/null @@ -1,80 +0,0 @@ -section { - margin-bottom: 100px; -} - -article { - border: 1px var(--color4) solid; - margin: 2px; - padding: 2px; - border: ridge; - max-width: 500px; - background-color: var(--color3); -} - -h1 { - border: ridge; - background-color: var(--color1); -} - -h2 { - margin-top: 0; - margin-bottom: 5px; -} - - -form { - display: inline-grid; - width: 98%; - margin: 1%; -} - -textarea#cssarea { - height: 400px; -} - -label { - font-weight: bold; - font-style: italic; -} - -summary { - background-color: var(--color1); - border: outset; - font-weight: bold; -} - -summary:focus { - outline: none; -} - -details { - background-color: var(--color1); - border: 1px var(--color4) solid; -} - - - -@media (max-width: 600px) { - nav { - width: unset; - position: relative; - display: block; - } - - div#menu { - display: block; - } -} - - -@media (max-width: 600px) { - nav { - width: unset; - position: relative; - display: block; - } - - div#menu { - display: block; - } -}
\ No newline at end of file diff --git a/assets/css/css_old/stylebase.css b/assets/css/css_old/stylebase.css deleted file mode 100644 index 017b075..0000000 --- a/assets/css/css_old/stylebase.css +++ /dev/null @@ -1,85 +0,0 @@ -:root { - --color1: lightgrey; - --color2: lightslategrey; - --color3: #ececec; - --color4: grey; -} - - -@keyframes alert { - from {top: 30px;} - to {top: -50px;} -} - -body { - margin: 0; - font-family: sans-serif; - background-color: var(--color4); -} - - -span.alert { - position: fixed; - background-color: var(--color1); - z-index: 100; - border: ridge red; - width: 200px; - text-align: center; - padding: 5px; - top: 30px; - font-weight: bold; - left: calc(50% - 100px); - animation: alert 1s linear 2s forwards; -} - - -form{ - margin: 0; -} - - - -nav { - position: fixed; - top: 0; - right: 0; - z-index: 10; - background-color: var(--color1); - border: ridge; -} - -div#menu { - display: none; -} - -nav:hover div#menu { - display: block; -} - -nav a { - display: block; -} - -nav a:hover { - background-color: var(--color3); -} - -nav #loginpass { - width: 100%; -} - - -@media (max-width: 600px) { - body { - font-size: 1.3em; - } - - input, textarea, select, button { - font-size: 0.8em; - } - - nav { - display: none; - } - -}
\ No newline at end of file diff --git a/assets/css/css_old/styleedit.css b/assets/css/css_old/styleedit.css deleted file mode 100644 index fd79ed4..0000000 --- a/assets/css/css_old/styleedit.css +++ /dev/null @@ -1,241 +0,0 @@ -.edit { - background-color: var(--color1); -} - -#linklist { - background-color: var(--color1); -} - -#submit { - background-color: var(--color1); -} - -#artedit { - background-color: var(--color1); -} - -details { - background-color: var(--color1); -} - - - -.sidebar { - position: fixed; - width: 250px; - height: 100%; - overflow: scroll; - overflow-x: hidden; -} - -div#submit { - position: relative; -} - -textarea { - position: fixed; - width: calc(100% - 250px); - right: 0px; - height: 100%; - font-size: 1em; - padding: 2%; - padding-right: calc(50% - 500px); - resize: none; - -} - - - -div#linklist { - position: fixed; - bottom: 0; - right: 0; - min-width: 10%; - max-width: 50%; - max-height: 50%; - overflow-y: auto; - -} - -div#linklist div#roll { - display: none; -} - -div#linklist:hover div#roll { - display: block; - width: auto; -} - -div#roll ul { - list-style: none; - margin: 0; - padding: 0; -} - - - -details label { - margin-top: 4px; -} - - -details select, details input, details label, details textarea#css { - width: 100%; -} - -details input[type="checkbox"] -{ - width: auto; -} - -ul { - list-style: none; - padding: 0; - margin: 2px; -} - -fieldset { - margin: 0; - padding: 0; - border: none; -} - -summary, div#linklist, div#submit { - border: ridge 1px grey; - -} - -span#headid { - font-weight: bold; - padding-left: 1%; - padding-right: 1%; - border: ridge; - background-color: var(--color3); - -} - -input#fontsize { - width: 40px; -} - -summary { - background-color: var(--color1); - border: outset; - font-weight: bold; -} - -summary:focus { - outline: none; -} - -div#help { - padding: 2px; -} - -div#help pre { - background-color: white; - margin-bottom: 2px; -} - -div#help p { - background-color: var(--color3); - margin-top: 4px; -} - -div#help h3 {margin-bottom: 8px;} - -span.i { - background-color: var(--color2); - color: white; -} - - - -/* ------------------------------ TABS ----------------------------- */ - - - -.tabs -{ - position: absolute; - left: 250px; - top: 28px; -} - -.tabs .tab -{ - float: left; -} - -.tabs .tab .content -{ - position: absolute; - background-color: white; - left: 0px; - width: 100%; - border: 1px #000 solid; -} - -.checkboxtab -{ - display: none; -} - -.tab label -{ - margin-right: 10px; - border: outset; - background-color: var(--color1); -} - -.checkboxtab:checked ~ label -{ - border: inset; -} - -.checkboxtab:checked ~ .content -{ - z-index: 1; -} - - - - - - - -@media (max-width: 600px) { - details#editinfo, details#editcss, div#linklist { - display: none; - } - - - nav { - position: absolute; - display: inline-flex; - } - - div#menu { - display: block; - } - - div#submit { - position: absolute; - display: block; - width: unset; - top: unset; - bottom: 0; - } - - nav form, nav a { - display: inline-flex; - margin: 1%; - } - - textarea#html { - padding-top: 60px; - } - - - -}
\ No newline at end of file diff --git a/assets/css/css_old/stylehome.css b/assets/css/css_old/stylehome.css deleted file mode 100644 index 98822f0..0000000 --- a/assets/css/css_old/stylehome.css +++ /dev/null @@ -1,117 +0,0 @@ -section.home { - margin-top: 27px; - display: inline-flex; - width: 100%; -} - -div#main { - border: ridge; - height: fit-content; - margin: 5px; - background-color: var(--color3); -} - -div#map { - border: ridge; - height: fit-content; - margin: 5px; - background-color: var(--color3); -} - -div#options { - border: ridge; - margin: 5px; - background-color: var(--color3); - width: 15%; - list-style: none; - max-width: 200px; - height: fit-content; - -} - -fieldset { - background-color: var(--color1); - border: outset; -} - -legend { - font-weight: bold; -} - -div#massedit { - background-color: var(--color1); -} - -header { - position: fixed; - width: 100%; - border: ridge; - background-color: var(--color1); -} - -h2 { - font-size: large; - margin: 0; - border: outset; - background-color: var(--color1); -} - -#options ul { - list-style: none; - margin: 0; - padding: 0; -} - -#home2table { - background-color: var(--color3); -} - -#home2table tr:hover { - background-color: var(--color1); -} - -#home2table th { - background-color: var(--color1); - border: ridge 1px grey; -} - - - -@media (max-width: 600px) { - - section.home { - position: relative; - display: block; - margin: unset; - } - - div#options { - position: relative; - width: unset; - } - - header { - position: relative; - border: none; - } - - table#home2table { - display: block; - position: relative; - width: 100%; - overflow-x: scroll; - font-size: 1em; - } - - nav { - width: unset; - position: relative; - display: block; - } - - div#menu { - display: block; - } - - -}
\ No newline at end of file diff --git a/assets/css/css_old/styleinfo.css b/assets/css/css_old/styleinfo.css deleted file mode 100644 index a3fcc5c..0000000 --- a/assets/css/css_old/styleinfo.css +++ /dev/null @@ -1,80 +0,0 @@ -section { - margin-bottom: 100px; -} - -article { - border: 1px var(--color4) solid; - margin: 2px; - padding: 2px; - border: ridge; - max-width: 500px; - background-color: var(--color3); -} - -h1 { - border: ridge; - background-color: var(--color1); -} - -h2 { - margin-top: 0; - margin-bottom: 5px; -} - - -form { - display: inline-grid; - width: 98%; - margin: 1%; -} - -textarea#cssarea { - height: 400px; -} - -label { - font-weight: bold; - font-style: italic; -} - -summary { - background-color: var(--color1); - border: outset; - font-weight: bold; -} - -summary:focus { - outline: none; -} - -details { - background-color: var(--color1); - border: 1px var(--color4) solid; -} - - - -@media (max-width: 600px) { - nav { - width: unset; - position: relative; - display: block; - } - - div#menu { - display: block; - } -} - - -@media (max-width: 600px) { - nav { - width: unset; - position: relative; - display: block; - } - - div#menu { - display: block; - } -}
\ No newline at end of file diff --git a/assets/css/css_old/stylemedia.css b/assets/css/css_old/stylemedia.css deleted file mode 100644 index d721a9b..0000000 --- a/assets/css/css_old/stylemedia.css +++ /dev/null @@ -1,103 +0,0 @@ -article { - border: 1px var(--color4) solid; - margin: 2px; - padding: 2px; - border: ridge; - max-width: 700px; - background-color: var(--color3); -} - -h1 { - border: ridge; - background-color: var(--color1); -} - -h2 { - margin-top: 0; - margin-bottom: 5px; -} - - -form { - display: inline-grid; - width: 98%; - margin: 1%; -} - - -label { - font-weight: bold; - font-style: italic; -} - -summary { - background-color: var(--color1); - border: outset; - font-weight: bold; -} - -summary:focus { - outline: none; -} - -details { - background-color: var(--color1); - border: 1px var(--color4) solid; -} - - -#mediatable { - background-color: var(--color3); -} - -#mediatable tr:hover { - background-color: var(--color1); -} - -#mediatable th { - background-color: var(--color1); - border: ridge 1px grey; -} - -.tooltip span { - display: none; - color: #000; - text-decoration: none; - padding: 3px; -} - -.tooltip:hover span { - display: block; - position: absolute; - background-color: var(--color3); - border: ridge; - margin-left: 30px; - margin-top: 0px; -} - - -img.thumbnail { - max-width: 100%; - max-height: 150px; -} - -input[type="checkbox"] { - width: unset; - padding: unset; - margin: unset; - height: unset; -} - - - -@media (max-width: 600px) { - nav { - width: unset; - position: relative; - display: block; - } - - div#menu { - display: block; - } -}
\ No newline at end of file diff --git a/assets/css/css_old/stylerecord.css b/assets/css/css_old/stylerecord.css deleted file mode 100644 index 409bcd4..0000000 --- a/assets/css/css_old/stylerecord.css +++ /dev/null @@ -1,79 +0,0 @@ -section { - padding: 0; -} - -.infobulle { - display: none; -} - -.little:hover .infobulle { - display: inline-block; - position: relative; - background-color: white; - z-index: 5; - top: 5px; - width: 300px; - font-family: monospace; - font-size: 0.9em; - line-height: 1.1em; -} - -span.infobulle img { - width: 100%; -} - -.grid { - display: flex; - flex-wrap: wrap; - padding: 4%; - margin-right: 120px; - list-style: none; - -} - -.little { - width: 100px; - height: 150px; - margin: 10px; - background-color: white; - -} - -.infobulle input[type="text"] { - font-family: monospace; - font-size: 0.9em; - margin: 3px; -} - -img.thumbnail { - max-width: 100%; - max-height: 100px; -} - -section.gest { - padding-bottom: 300px; -} - -input[type="file"] { - font-size: 1.3em; -} - -input[type="checkbox"] { - width: unset; - padding: unset; - margin: unset; - height: unset; -} - - -@media (max-width: 600px) { - nav { - width: unset; - position: relative; - display: block; - } - - div#menu { - display: block; - } -}
\ No newline at end of file diff --git a/assets/css/old/styleedit.css b/assets/css/old/styleedit.css deleted file mode 100644 index 21435fb..0000000 --- a/assets/css/old/styleedit.css +++ /dev/null @@ -1,27 +0,0 @@ -.edit { - background-color: greenyellow; -} - -#linklist { - background-color: blanchedalmond; -} - -#submit { - background-color: coral; -} - -#copy { - background-color: darkkhaki; -} - -#html { - background-color: deepskyblue; -} - -#artedit { - background-color: darksalmon; -} - -#editoption { - background-color: blueviolet; -}
\ No newline at end of file diff --git a/assets/global/fonts.css b/assets/global/fonts.css new file mode 100644 index 0000000..5bf8768 --- /dev/null +++ b/assets/global/fonts.css @@ -0,0 +1,45 @@ +@font-face { +font-family: droidsans; + src: url( /wcms/fonts/droidsans.woff2); +} + +@font-face { +font-family: hack-italic; + src: url( /wcms/fonts/hack-italic.woff2); +} + +@font-face { +font-family: lato-regular; + src: url( /wcms/fonts/lato-regular.woff2); +} + +@font-face { +font-family: lobster; + src: url( /wcms/fonts/lobster.ttf); +} + +@font-face { +font-family: merriweather-regular; + src: url( /wcms/fonts/merriweather-regular.woff2); +} + +@font-face { +font-family: plex; + src: url( /wcms/fonts/plex.ttf); +} + +@font-face { +font-family: plexl; + src: url( /wcms/fonts/plexl.woff2); +} + +@font-face { +font-family: roboto; + src: url( /wcms/fonts/roboto.ttf); +} + +@font-face { +font-family: spicy; + src: url( /wcms/fonts/spicy.ttf); +} + diff --git a/assets/css/global/global.css b/assets/global/global.css index 4fe1d10..4fe1d10 100644 --- a/assets/css/global/global.css +++ b/assets/global/global.css |