Example #1
0
 function showLinkForResult($row, $icon = true, $table = false, $no_link = false)
 {
     global $CFG;
     if (!$row['url']) {
         $image_sizes = DB::getImageSizes($row['field_name']);
         $dir = !$row['dir'] ? $CFG->default_upload_location : $row['dir'];
         if (in_array($row['ext'], $CFG->accepted_image_formats)) {
             foreach ($image_sizes as $size => $dims) {
                 $suffix = $size;
             }
             $suffix = '_' . $suffix;
         }
         $url = File::fileExists($row['name'] . $suffix . '.' . $row['ext'], $dir, $table);
         if (!$url) {
             return '<span class="error">File ' . $row['old_name'] . ' not found.</span>';
         }
         $file_icon = $icon ? File::showExtIcon($row['ext']) : false;
         if (!$no_link) {
             return "{$file_icon} <a target=\"_blank\" href=\"{$url}\">{$row['old_name']}</a>";
         } else {
             return "{$file_icon} {$row['old_name']}";
         }
     } else {
         return File::showUrl($row['url'], $icon);
     }
 }
Example #2
0
    function fileInput($name, $caption = false, $required = false, $permitted_ext = false, $max_size = false, $dir = false, $image_sizes = false, $amount = 0, $id = false, $class = false, $jscript = false, $style = false, $crop_images = false, $no_url = false, $encrypt = false, $allow_descriptions = false)
    {
        global $CFG;
        if ($required) {
            $this->required[$name] = 'file';
            $req_img = $CFG->req_img;
        }
        if ($CFG->pm_editor) {
            $method_name = self::peLabel($CFG->method_id, 'fileInput');
        }
        $caption = $caption ? $caption : $name;
        $HTML = $req_img . "<div class=\"label_extend\"></div><label class=\"file_input_label\">{$caption} {$method_name}</label><ul class=\"file_input_list\"><input type=\"hidden\" class=\"file_list_name\" id=\"file_list_" . $name . "\" value=\"" . $name . "\" />";
        $dir = $dir ? $dir : $CFG->default_upload_location;
        $permitted_ext = $permitted_ext ? $permitted_ext : $CFG->accepted_file_formats;
        $amount = $amount > 0 ? $amount : 12;
        $jscript = self::parseJscript($jscript, $id, $j, $grid_input);
        $outside_jscript = strstr($jscript, 'outside|') ? '<script type="text/javascript">' . str_replace('outside|', '', $jscript) . '</script>' : false;
        $jscript = strstr($jscript, 'outside|') ? false : $jscript;
        $i = 0;
        if ($this->record_id) {
            $files = DB::getFiles($this->table . '_files', $this->record_id, $name);
            if ($files) {
                $c = count($files);
                foreach ($files as $file) {
                    $HTML .= '<li id="' . $i . '">';
                    $HTML .= File::showLinkForResult($file, false, $this->table, $encrypt);
                    if ($allow_descriptions) {
                        $HTML .= '<div class="file_desc" onclick="fieldZoomIn(\'file_desc__' . $this->table . '_' . $file['id'] . '\',\'textarea\',\'' . urlencode($CFG->gallery_desc_label) . '\')"><img class="' . ($file['file_desc'] ? 'opaq' : '') . '" src="' . $CFG->gallery_desc_icon . '" title="' . ($file['file_desc'] ? $file['file_desc'] : $CFG->gallery_desc_tooltip) . '"/><input type="hidden" id="file_desc__' . $this->table . '_' . $file['id'] . '" name="file_descs[' . $file['id'] . ']" value="' . $file['file_desc'] . '" /></div>';
                    }
                    $HTML .= $c > 1 ? '<a href="#" title="' . $CFG->move_hover_caption . '" class="file_move"></a>' : false;
                    $HTML .= "<input type=\"hidden\" name=\"attached_file_fields[]\" value=\"{$name}\" />";
                    $HTML .= '<input type="hidden" name="file_order[]" value="' . $file['id'] . '" />';
                    if (!empty($file['url'])) {
                        $HTML .= "<a title=\"{$CFG->delete_hover_caption}\" onclick=\"formDeleteUrl(this,'{$this->table}_files','{$file['id']}')\" class=\"delete\"></a>";
                    } else {
                        $HTML .= "<a title=\"{$CFG->delete_hover_caption}\" onclick=\"formDeleteFile(this,'{$this->table}_files','{$file['id']}','{$file['name']}.{$file['ext']}','{$file['dir']}')\" class=\"delete\"></a>";
                    }
                    $HTML .= '</li>';
                    $i++;
                }
            }
        }
        if (!is_array($this->temp_files) && is_array($CFG->temp_files)) {
            $this->temp_files = $CFG->temp_files;
        }
        if (is_array($this->temp_files)) {
            foreach ($this->temp_files as $k => $v) {
                if (stristr($k, $name)) {
                    $i++;
                    $HTML .= '<li>';
                    $HTML .= File::showLink($v, $CFG->temp_file_location, false, $encrypt);
                    if ($allow_descriptions) {
                        $HTML .= '<div class="file_desc" onclick="fieldZoomIn(\'file_desc__' . $this->table . '_' . $k . '\',\'textarea\',\'' . urlencode($CFG->gallery_desc_label) . '\')"><img src="' . $CFG->gallery_desc_icon . '" title="' . $CFG->gallery_desc_tooltip . '"/><input type="hidden" id="file_desc__' . $this->table . '_' . $k . '" name="file_descs_temp[' . $k . ']" value="' . $this->temp_descs[$k] . '" /></div>';
                    }
                    $HTML .= "<input type=\"hidden\" name=\"temp_files[{$k}]\" value=\"{$v}\" />\n\t\t\t\t\t<a title=\"{$CFG->delete_hover_caption}\" onclick=\"formDeleteTemp(this,'{$v}')\"  class=\"delete\"></a>";
                    $HTML .= '</li>';
                }
            }
        }
        if (!$this->record_id) {
            if (is_array($this->urls)) {
                foreach ($this->urls as $k => $v) {
                    if (is_array($v)) {
                        foreach ($v as $j => $v1) {
                            if (stristr($k, $name) && !empty($v1)) {
                                $i++;
                                $HTML .= '<li>';
                                $HTML .= File::showUrl($v1);
                                $HTML .= "<input type=\"hidden\" name=\"urls[{$k}][{$j}]\" value=\"" . htmlentities($v1) . "\" /> <a title=\"{$CFG->delete_hover_caption}\" onclick=\"formDeleteTemp(this)\" class=\"delete\"></a>";
                                $HTML .= '</li>';
                            }
                        }
                    }
                }
            }
        }
        $name_n = $name . '__' . $i;
        $class = 'class="file_input"';
        $style = $style ? 'style="' . $style . '"' : false;
        $id = $id ? $id . '__' . $i : $name_n;
        $value = $this->info ? $this->info[$name] : $value;
        $custom_image_sizes = $image_sizes ? urlencode(serialize($image_sizes)) : false;
        if ($this->table) {
            $this->db_fields[$name] = 'file';
        }
        $reproduction_script = 'onchange="fileInputReproduce(this,' . $amount . ',0,\'' . $CFG->gallery_desc_tooltip . '\')"';
        $reproduction_script1 = 'onblur="fileInputReproduce(this,' . $amount . ',1,\'' . $CFG->gallery_desc_tooltip . '\')"';
        if ($amount > 0) {
            $c = count($this->urls) + count($this->temp_files) + count($files);
            $hidden = $c >= $amount ? 'hidden' : false;
            $HTML .= '
			<li class="' . $hidden . '">
				<div class="file_input_container">
					<input type="hidden" class="amount" value="' . $amount . '" />
					<input type="text" name="cover" class="input_cover" value="" />
					<input type="button" name="cover_button" class="input_cover_button" value="' . $CFG->file_input_button . '" />
					<input type="file" name="' . $this->name . '[' . $name_n . ']" value="' . $value . '" id="' . $this->name . '_' . $id . '" ' . $reproduction_script . ' ' . $class . ' ' . $jscript . ' ' . $style . ' />
				</div>';
            if (!$no_url) {
                $HTML .= "<label class=\"file_label\">{$CFG->alt_url_label}</label><input type=\"text\" class=\"file_url\" name=\"urls[{$name}][{$i}]\" value=\"{$value}\" id=\"{$this->name}_{$id}\" {$reproduction_script1}  />";
            }
            if (is_array($permitted_ext)) {
                foreach ($permitted_ext as $ext) {
                    $HTML .= "<input type=\"hidden\" name=\"files[{$name}][exts][]\" value=\"{$ext}\" />";
                }
            } elseif ($permitted_ext) {
                $HTML .= "<input type=\"hidden\" name=\"files[{$name}][exts][]\" value=\"{$permitted_ext}\" />";
            }
            if ($max_size) {
                $HTML .= "<input type=\"hidden\" name=\"files[{$name}][max_size]\" value=\"{$max_size}\" />";
            }
            if ($dir) {
                $HTML .= "<input type=\"hidden\" name=\"files[{$name}][dir]\" value=\"{$dir}\" />";
            }
            if ($custom_image_sizes) {
                $HTML .= "<input type=\"hidden\" name=\"image_sizes[{$name}]\" value=\"{$custom_image_sizes}\" />";
            }
            if ($crop_images) {
                $HTML .= "<input type=\"hidden\" name=\"crop_images[{$name}]\" value=\"{$crop_images}\" />";
            }
            if ($encrypt) {
                $HTML .= "<input type=\"hidden\" name=\"encrypt_files[{$name}]\" value=\"1\" />";
            }
            if ($allow_descriptions) {
                $HTML .= '<div class="file_desc" onclick="fieldZoomIn(\'file_desc__' . $this->table . '_' . $i . '\',\'textarea\',\'' . urlencode($CFG->gallery_desc_label) . '\')"><img class="hack fdesk_img" src="' . $CFG->gallery_desc_icon . '" title="' . $CFG->gallery_desc_tooltip . '"/><input type="hidden" id="file_desc__' . $this->table . '_' . $i . '" class="fdesk" name="file_descs_new[' . $name_n . ']" value="" /></div>';
            }
            $HTML .= '<a href="#" title="' . $CFG->delete_hover_caption . '" onclick="multipleRemoveInput(this);" class="delete"></a><div class="clear"></div></li>';
        }
        $HTML .= '<div class="clear"></div></ul>' . $outside_jscript;
        $this->HTML[] = $HTML;
        $this->enctype = 'enctype="multipart/form-data"';
    }