aboutsummaryrefslogtreecommitdiff
path: root/app/class/Modeladmin.php
blob: 54c4f0c32ac2bb2e7d522eb22c482f689af1c18d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php

namespace Wcms;

class Modeladmin extends Model
{


    /**
     * List all availalble pages databases
     * 
     * @return array 
     */
    public function pagesdblist() : array
    {
        $dblist = glob(self::PAGES_DIR . '*', GLOB_ONLYDIR);
        $dblist = array_map('basename', $dblist);
        
        return $dblist;
    }

    /**
     * Duplicate actual page database using new name
     * 
     * @param string $name of the new database
     */
    public function duplicate(string $name)
    {
        $this->copydb(Config::pagetable(), $name);
    }

    /**
     * Copy database folder to a new folder if it doeas not already exsit
     * 
     * @param string $db name of source page database to copy
     * @param string $name of the destination database
     */
    public function copydb(string $db, string $name)
    {
        $dbdir = self::PAGES_DIR . $db;
        $newdbdir = self::PAGES_DIR . idclean($name);
        if(is_dir($dbdir) && !is_dir($newdbdir)) {
            recurse_copy($dbdir, $newdbdir);
        }
    }
}

?>