<?php defined('KOBLOG') or die('Koblog CMS.');

class KoblogUpdater {
    // Special function to upgrade 
        public static function upgradeArticlesToPageTypes()
        {
            $dataHead = "<?php defined('KOBLOG') or die('Koblog CMS.'); ?>" . PHP_EOL;

            global $pages;
            global $L;

            foreach ($pages->db as $key => $fields) {
                if ($fields['type'] === "published") {
                    $pages->db[$key]['type'] = "article";
                    $pages->db[$key]['state'] = "published";
                } elseif ($fields['type'] === "draft") {
                    $pages->db[$key]['type'] = "article";
                    $pages->db[$key]['state'] = "draft";
                } elseif ($fields['type'] === "autosave") {
                    $pages->db[$key]['type'] = "article";
                    $pages->db[$key]['state'] = "autosave";
                } elseif ($fields['type'] === "scheduled") {
                    $pages->db[$key]['type'] = "article";
                    $pages->db[$key]['state'] = "scheduled";
                } elseif ($fields['type'] === "sticky") {
                    $pages->db[$key]['type'] = "article";
                    $pages->db[$key]['state'] = "published";
                    $pages->db[$key]['sticky'] = true;
                }

                // S'il n'y a toujours rien, c'est qu'il est publiƩ
                if ($pages->db[$key]['state'] === null) {
                    $pages->db[$key]['state'] = "published";
                }

                // S'il n'y a toujours pas de sticky, c'est qu'il ne l'est pas
                if ($pages->db[$key]['sticky'] === null) {
                    $pages->db[$key]['sticky'] = false;
                }
            }

            //
            if (!file_exists(PATH_DATABASES . 'pagetypes.php')) {
                $data = array(
                    'article' => array('name' => $L->g("Article"), 'plural' => $L->g("Articles"), 'icon'=>'file-text'),
                    'static' => array('name' => $L->g("Static page"), 'plural' => $L->g("Static pages"), 'icon'=>'file'),
                );
                file_put_contents(PATH_DATABASES . 'pagetypes.php', $dataHead . json_encode($data, JSON_PRETTY_PRINT), LOCK_EX);    
            }
            
            return $pages->save();
        }

}