<?php


    class zdjecia
    {

        public static $sql_table = 'zdjecia';

        public static $own_listing = false;
        public static $own_listing_parse = false;
        public static $own_options = true;
        
        public function __construct()
        {
        }
        
        
        public static function add( $request , $files )
        {
            
            // Nazwa
            if( empty( $request['nazwa'] ) )
            {
                statement::$i->set( l('Podaj nazwę grupy') , 'danger' );
                return;
            }
            
            $sql['nazwa'] = esc( $request['nazwa'] );

            // Nazwa
            if( empty( $request['wartosc'] ) )
            {
                statement::$i->set( l('Podaj wartość liczbową dla tej grafiki') , 'danger' );
                return;
            }
            
            $sql['wartosc'] = esc( $request['wartosc'] );
            
            if( user::$i->mode == 'admin' )
            {
                if( !empty( $files['src']['tmp_name'] ) )
                {
                    $UploadedImage = file::upload( $files['src'] );
                    if( $UploadedImage )
                    {
                        $sql['src'] = $UploadedImage;
                    } 
                    else 
                    {
                            statement::$i->set( l('Błąd podczas wgrywania grafiki') , 'danger' ); 
                            return;
                    }
                } 
                else 
                {
                    statement::$i->set( l('Wybierz  obraz') , 'danger' ); 
                    return;
                }
            }

                        
            if( db::$i->insert( self::$sql_table , $sql ) )
            {
                statement::$i->set( 'save' );
                    return true;
            } 
            else 
            {
                statement::$i->set( 'mysql' );
            }
        }

        public static function edit( $request , $files , $id )
        {
            
            $Obj = self::get( $id );
            
            if( !$Obj->id )
            {
                statement::$i->set( 'Element o takim identyfikatorze nie istnieje w bazie danych' , 'danger' );
                return;
            }
            
            // Nazwa
            if( !empty( $request['nazwa'] ) AND $request['nazwa'] != $Obj->nazwa )
            {
                $sql['nazwa'] = esc( $request['nazwa'] );
            }
            

            $sql['wartosc'] = esc( $request['wartosc'] );

            if( !empty( $files['src']['tmp_name'] ) )
            {
                $UploadedImage = file::upload( $files['src'] );
                if( $UploadedImage )
                {
                    $sql['src'] = $UploadedImage;
                } 
                else 
                {
                    statement::$i->set( l('Błąd podczas wgrywania grafiki') , 'danger' ); 
                    return;
                }
            } 
                        
            if( count( $sql ) )
            {
                if( db::$i->update( self::$sql_table , $sql , $id ) )
                {
                    statement::$i->set( 'update' );
                } 
                else 
                {
                    statement::$i->set( 'mysql' );
                }
            } 
            else 
            {
                statement::$i->set( 'Nie dokonano żadnych zmian' );
            }
            
        }

        public static function get( $id )
        {
           $data = db::$i->row("
           SELECT * 
           FROM `".( self::$sql_table )."` 
           WHERE `id`='".( $id )."'
           ");
           
           if( !$data ) return;
           
            return core::object( $data );
        }
                    
        /**
         * Pobierz listę zdjec przypisanych do okreslonej grupy
         * @param string $nazwa
         * @return object $Zdjecia
         */
        public static function getList( $nazwa_grupy )
        {
            $query = db::$i->q("SELECT * FROM `zdjecia` WHERE `nazwa`='".( esc( $nazwa_grupy ) )."' ORDER BY `id` ASC" , true);
            if( db::$i->rows )
            {
                $Zdjecia = new stdClass;
                $Zdjecia->Count = db::$i->rows;
                
                while( $Zdjecie = db::$i->f( $query ) )
                {
                    $Zdjecia->Items[] = self::parse( $Zdjecie );
                }
                
                    return $Zdjecia;
            }
            
                return;
        }

        /**
         * Pobierz listę grup
         * @return object $Grupy
         */
        public static function getGroupList()
        {
            $query = db::$i->q("SELECT * FROM `zdjecia` GROUP BY `nazwa` ORDER BY `nazwa` ASC" , true);
            if( db::$i->rows )
            {
                $Zdjecia = new stdClass;
                $Zdjecia->Count = db::$i->rows;
                
                while( $Zdjecie = db::$i->f( $query ) )
                {
                    $Zdjecia->Items[] = core::object( $Zdjecie );
                }
                
                    return $Zdjecia;
            }
            
                return;
        }
                
        public static function parse( $item )
        {
            return core::object( $item );
        }
        
        public static function options( $item )
        {
                $options[l('Edytuj')] = array(
                        'mode' => core::$i->mode,
                        'id' => $item['id']
                );

                                                
                $options[l('Usuń')] = array(
                        'mode' => core::$i->mode,
                        'id' => $item['id']
                );
                
                return $options; 
        }   
        
        public static function details_parse()
        {
            
        }
        
    }
    
?>