Current File : /pages/54/47/d0016649/home/htdocs/ob_maxi/wp-content/plugins/digimember/system/model/data/log.php
<?php

class ncore_LogData extends ncore_BaseData
{
    const log_keep_days = 90;

    public function log( $level, $section, $message_templ, $arg1='', $arg2='', $arg3='', $arg4='', $arg5='', $arg6='' )
    {
        $user_id = ncore_userId();

        if (NCORE_DEBUG) {
            $clean = str_replace( '%%', '', $message_templ );
            $count = substr_count( $clean, '%' );
            if ($count>=4) {
                trigger_error( "Too many placeholders in log message:  $message_templ" );

                $message_templ = sprintf( $message_templ, $arg1, $arg2, $arg3, $arg4, $arg5, $arg6, '', '', '', '', '' );
            }
        }

        $message = sprintf( $message_templ, $arg1, $arg2, $arg3, $arg4, $arg5, $arg6 );

        $data = array(
            'level'   => $level,
            'user_id' => $user_id,
            'section' => $section,
            'message' => $message,
        );

        $this->create( $data );
    }

    public function cronDaily()
    {
        $days = self::log_keep_days;

        $db = $this->db();

        $table = $this->sqlTableName();

        $now = ncore_dbDate();

        $query = $db->query("DELETE FROM `$table`
                             WHERE created < '$now' - INTERVAL $days DAY");
    }

    //
    // protected section
    //
    protected function sqlBaseTableName()
    {
        return 'log';
    }

    protected function sqlTableMeta()
    {
       $columns = array(
            'user_id' => 'id',
            'section' => 'string[15]',
            'message' => 'string[255]',
            'level'   => 'string[7]',
       );

       $indexes = array();

       $meta = array(
        'columns' => $columns,
        'indexes' => $indexes,
       );

       return $meta;
    }

    protected function isUniqueInBlog() {

        return true;
    }

    protected function defaultValues()
    {
        $values = parent::defaultValues();

        $values['level'] = 'info';

        return $values;
    }



}