view classes/basemodel.php @ 78:960ba96efce1 extractapp

Update: click to popup remove-tag-window; select to popup tag-window
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Mon, 20 Apr 2015 15:44:54 +0200
parents 97c1e5102a22
children f1f849d31272
line wrap: on
line source

<?php
/**
* BaseModel is for the general methods/functions.
* For example, setting related to outside services, connecting to database, get information from database, etc.
*/

abstract class BaseModel {
    
    protected $get_text_from_fileId_url, $get_text_from_sectionId_url, $save_to_LGService_url, $save_new_to_LGService_url;

	public function __construct() {
        global $mysql_database, $mysql_server, $mysql_user, $mysql_password, $systemNAME, $lgserver_url;
        $this->systemNAME = $systemNAME;
        
        $this->get_text_from_fileId_url = $lgserver_url."rest/text/getFileText?fileId=";
        $this->get_text_from_sectionId_url = $lgserver_url."rest/text/getSectionText?sectionId=";
        $this->save_to_LGService_url = $lgserver_url."rest/text/save";
        $this->save_new_to_LGService_url = $lgserver_url."rest/text/saveNew";
        $this->get_section_metadata_by_sectionId_url = $lgserver_url."rest/text/getSectionMetadata?sectionId=";
        
        set_time_limit(0);
        ini_set('memory_limit', '-1');

        $link_mysql = mysql_connect($mysql_server, $mysql_user, $mysql_password);
        mysql_query("SET NAMES utf8");

        if (!$link_mysql) {
            die('Could not connect: ' . mysql_error());
        }
        $db_selected = mysql_select_db($mysql_database, $link_mysql);
        if (!$db_selected) {

            die ('Can\'t use foo : ' . mysql_error());
        }
        $this->topic = 2;   // set the default topic to product_name (物產)
	}
    
    protected function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

        $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

        switch ($theType) {
            case "text":
                $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
                break;    
            case "long":
            case "int":
                $theValue = ($theValue != "") ? intval($theValue) : "NULL";
                break;
            case "double":
                $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
                break;
            case "date":
                $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
                break;
            case "defined":
                $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
                break;
        }
        return $theValue;
    }

    protected function GetWordlist() {
        $query = sprintf("SELECT * FROM `wordlist` WHERE `systemName`='%s' ORDER BY `name` ASC", $this->systemNAME);
        $result = mysql_query($query);
        if (!$result){
            return json_encode("Failed during selecting wordlist table.");;
        }
        return $result;
    }

    protected function GetSectionsById($section_id) {
        $query = sprintf("SELECT * FROM `sections_index` WHERE `id`=\"%s\"", $section_id);
        $result = mysql_query($query);
        if (!$result){
            echo json_encode("Failed during selecting sections_index table");
            return;
        }
        return $result;
    }

    protected function GetTaglist() {
        $query = sprintf("SELECT * FROM `taglist` WHERE `systemName`='%s' ORDER BY `tag` ASC", $this->systemNAME);
        $result = mysql_query($query);
        if (!$result) {
            return json_encode("Failed during selecting taglist table.");
        }
        return $result;
    }

    protected function GetBooksById($bookId) {
        $query = sprintf("SELECT * FROM `books` WHERE id=\"%s\"", $bookId);
        $result = mysql_query($query);
        if (!$result) {
            return json_encode("Failed during selecting books table.");
        }
        return $result;
    }

    protected function GetTopicList() {
        $query = sprintf("SELECT * FROM `topics`");
        $result = mysql_query($query);
        if (!$result) {
            return json_encode("Failed during selecting topics table.");
        }
        return $result;
    }

    protected function GetTopicById($topic_id) {
        $query = sprintf("SELECT * FROM `topics` WHERE  id=\"%s\"", $topic_id);
        $result = mysql_query($query);
        if (!$result) {
            return json_encode("Failed during selecting topics table.");
        }
        return $result;
    }

        
}

?>