    public static function go($input, $path, $allowed = '', $uniq = false, $size = '', $width = '', $height = '')
    {
        $filename = Typo::cleanX($_FILES[$input]['name']);
        $filename = str_replace(' ', '_', $filename);
        if (isset($_FILES[$input]) && $_FILES[$input]['error'] == 0) {
            if ($uniq == true) {
                $site = Typo::slugify(Options::v('sitename'));
                $uniqfile = $site.'-'.sha1(microtime().$filename).'-';
            } else {
                $uniqfile = '';
            }

            $extension = pathinfo($_FILES[$input]['name'], PATHINFO_EXTENSION);
            $filetmp = $_FILES[$input]['tmp_name'];
            $filepath = GX_PATH.$path.$uniqfile.$filename;

            if (!in_array(strtolower($extension), $allowed)) {
                $result['error'] = 'File not allowed';
            } else {
                // if(file_exists($filepath)) {
                //     @chmod($filepath,0755); //Change the file permissions if allowed
                //     @unlink($filepath); //remove the file
                // }
                if (move_uploaded_file(
                    $filetmp,
                    $filepath
                )
                ) {
                    $result['filesize'] = filesize($filepath);
                    $result['filename'] = $uniqfile.$filename;
                    $result['path'] = $path.$uniqfile.$filename;
                    $result['filepath'] = $filepath;
                    $result['fileurl'] = Site::$url.$path.$uniqfile.$filename;
                } else {
                    $result['error'] = 'Cannot upload to directory, please check 
                    if directory is exist or You had permission to write it.';
                }
            }
        } else {
            //$result['error'] = $_FILES[$input]['error'];
             $result['error'] = '';
        }

        return $result;
    }
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.