<?php

// TODO: Uncomment
include "access.php";
include_once "../includes/SystemConfiguration.class.php";
include "header.php";
global $systemConfiguration;
global $logger;
$errors = array();
$message = "";
$newsCategory = new NewsCategory();
if (isset($_POST['SBMT_REG'])) {
    $logger->LogInfo("Form has been submitted.");
    $newsCategory = NewsCategory::fetchFromParameters($_POST);
    if (!$newsCategory->save()) {
        $logger->LogError("Error saving news category.");
        foreach ($newsCategory->errors as $error) {
            $logger->LogError($error);
            $errors[] = $error;
        }
    } else {
        $message = "Values were updated successfully!";
    }
} else {
    if (isset($_REQUEST['id']) && is_numeric($_REQUEST['id'])) {
        $logger->LogInfo("Page was called for edit of id: " . $_REQUEST['id']);
        $id = intval($_REQUEST['id']);
        $logger->LogDebug("Numeric id is: {$id}");
        $newsCategory = NewsCategory::fetchFromDb($id);
        if ($newsCategory == null) {
            $logger->LogError("Invalid request. No news category with id: {$id} exists.");
 public static function fetchFromDbAllUsed($languageCode = null)
 {
     global $logger;
     NewsCategory::$staticErrors = array();
     if ($languageCode == null) {
         $defaultLanguage = Language::fetchDefaultLangauge();
         $languageCode = $defaultLanguage->languageCode;
     }
     $newsCategories = array();
     $sql = "SELECT DISTINCT  nc.* FROM bsi_news_categories as nc INNER JOIN bsi_news_posts np ON nc.id = np.category_id ORDER BY nc.title_" . strtolower(trim($languageCode));
     $query = mysql_query($sql);
     if (!$query) {
         $logger->LogError("Error: " . mysql_errno() . ". Error message: " . mysql_error());
         $logger->LogError("SQL: {$sql}");
         die("Error: " . mysql_errno() . ". Error message: " . mysql_error());
     }
     while ($row = mysql_fetch_assoc($query)) {
         $newsCategory = NewsCategory::fetchFromParameters($row);
         $newsCategories[] = $newsCategory;
     }
     return $newsCategories;
 }