コード例 #1
0
ファイル: Form.php プロジェクト: mbassan/backstage2
    function fileMultiple($name, $caption = false, $required = false, $permitted_ext = false, $max_size = false, $dir = false, $image_sizes = false, $amount = 0, $crop_images = false, $encrypt = 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, 'fileMultiple');
        }
        $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\">";
        $dir = $dir ? $dir : $CFG->default_upload_location;
        $permitted_ext = $permitted_ext ? $permitted_ext : $CFG->accepted_file_formats;
        $amount = $amount > 0 ? $amount : '0';
        $max_size = $max_size > 0 ? $max_size : '0';
        $i = 1;
        if ($this->record_id) {
            if ($files = DB::getFiles($this->table . '_files', $this->record_id, $name)) {
                foreach ($files as $file) {
                    $i++;
                    $amount--;
                    $HTML .= '<li>';
                    $HTML .= File::showLinkForResult($file, false, $this->table, $encrypt);
                    $HTML .= "<input type=\"hidden\" name=\"attached_file_fields[]\" value=\"{$name}\" />";
                    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>';
                }
            }
        }
        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++;
                    $amount--;
                    $HTML .= '<li>';
                    $HTML .= File::showLink($v, $CFG->temp_file_location, false, $encrypt);
                    $HTML .= "<input type=\"hidden\" name=\"temp_files[{$k}]\" value=\"{$v}\" /> <a title=\"{$CFG->delete_hover_caption}\" onclick=\"formDeleteTemp(this,'{$v}')\" 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';
        }
        if (!$CFG->pm_editor) {
            $HTML .= '
			<li class="upload_template">
				<span class="file_name"></span><span class="file_size"></span><a title="' . $CFG->delete_hover_caption . '" class="delete"></a>
				<div class="progress_bar"><div class="progress"></div></div>
				<input type="hidden" name="" value="" /> 
			</li>';
        }
        $HTML .= '
		<li>
			<span class="file_input_container">
				<input type="text" name="cover" class="input_cover" value=""/>
				<input type="button" name="cover_button" class="input_cover_button" value="' . $CFG->file_input_button . '"/>
				<div class="flash_upload" id="' . $this->name . '_' . $name . '">
					<input type="button" id="button" />
				</div>
			</span>
			<div class="clear"></div>
		</li>';
        if (!$CFG->pm_editor) {
            $HTML .= '
			<script type="text/javascript">
			var bar_size = new Array();
			var i = ' . $i . ';
			$(function(){
				$("#' . $this->name . '_' . $name . '").swfupload({
					upload_url: "ajax.upload.php",
					file_types : "' . ($permitted_ext ? $permitted_ext : '*.*') . '",
					file_types_description : "All Files",
					file_upload_limit : "' . $amount . '",
					file_size_limit : "' . $max_size . '",
					flash_url : "../shared/js/swfupload.swf",
					button_width : 251,
					button_height : 21,
					button_placeholder : $("#' . $this->name . '_' . $name . ' #button")[0],
					button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT
				})
				.bind("fileQueued", function(event, file){
					var clone = $(".upload_template").clone();
					var file_name = normalizeName(file.name);
					
					$(clone).attr("class","");
					$(clone).attr("id","file_"+file_name);
					$(clone).find(".file_name").html(file.name);
					$(clone).find(".file_size").html(file.size+"b");
					$(clone).find(".button").hide();
					$(clone).css("display","none");
					$(".upload_template").before(clone);
					$(clone).show(200);
					// start the upload since it"s queued
					$(this).swfupload("startUpload");
				})
				.bind("fileQueueError", function(event, file, errorCode, message){
					
				})
				.bind("uploadStart", function(event, file){
					var file_name = normalizeName(file.name);
					$("#file_"+file_name).find(".progress_bar").show(100);
				})
				.bind("uploadProgress", function(event, file, bytesLoaded){
					var file_name = normalizeName(file.name);
					var bar_size = parseInt($(".upload_template").find(".progress_bar").css("width"));
					var percent = (parseInt(bytesLoaded) / parseInt(file.size)) * bar_size;
					$("#file_"+file_name).find(".progress").css("width",percent+"px");
				})
				.bind("uploadSuccess", function(event, file, serverData){
					var file_name = normalizeName(file.name);
					$("#file_"+file_name).find(".progress_bar").hide(100);
					$("#file_"+file_name).find(".file_size").hide(100);
					var response = serverData.split("|");
					if (response[0] == "error") {
						alert("Error: ' . $CFG->verify_file_misc_error . '");
						$("#file_"+file_name).remove();
					}
					else {
						i++;
						$("#file_"+file_name).append("<input type=\\"hidden\\" value=\\""+file.name+"\\" name=\\"temp_files[' . $name . '__"+i+"]\\">");
						$("#file_"+file_name).find(".button").show(100);
						$("#file_"+file_name).find(".button").click(function() { 
							formDeleteTemp(this,file.name);
						});
					}
					$(this).swfupload("startUpload");
				})
				.bind("uploadError", function(event, file, errorCode, message){
					alert("Error: "+message);
					var file_name = normalizeName(file.name);
					$("#file_"+file_name).remove();
				});
			
			});	
			</script>
			';
        }
        $HTML .= '<div class="clear"></div></ul>';
        if ($encrypt) {
            $HTML .= "<input type=\"hidden\" name=\"encrypt_files[{$name}]\" value=\"1\" />";
        }
        if ($crop_images) {
            $HTML .= "<input type=\"hidden\" name=\"crop_images[{$name}]\" value=\"{$crop_images}\" />";
        }
        $this->HTML[] = $HTML;
        $this->enctype = 'enctype="multipart/form-data"';
    }
コード例 #2
0
ファイル: index.php プロジェクト: mbassan/backstage2
    echo '<div class="login_box">
				<div class="login_logo"><img src="' . $logo_img . '" title="Logo" alt="Logo" /></div>
				<div class="logform">
		';
    $l_form = new Form('authy_form');
    $l_form->info['token'] = preg_replace("/[^0-9]/", "", $l_form->info['token']);
    $l_form->textInput('token', 'Enter token');
    $l_form->submitButton('submit', 'Verify Token');
    $l_form->display();
    echo '</div><div class="clear"></div></div>';
} else {
    if ($_REQUEST['loginform']) {
        Errors::display();
        Messages::display();
    }
    $logos = DB::getFiles('settings_files', 1, 'logo', 1);
    $logo_img = $logos ? 'uploads/' . $logos[0]['name'] . '_logo.png' : 'images/logo.png';
    echo '<div class="login_box">
			<div class="login_logo"><img src="' . $logo_img . '" title="Logo" alt="Logo" /></div>
			<div class="logform">
	';
    $l_form = new Form('loginform');
    $l_form->info['user'] = ereg_replace("[^0-9a-zA-Z!@#\$%&*?\\.\\-\\_]", "", $l_form->info['user']);
    $l_form->info['pass'] = ereg_replace("[^0-9a-zA-Z!@#\$%&*?\\.\\-\\_]", "", $l_form->info['pass']);
    $l_form->textInput('user', $CFG->user_username, false, false, false, false, false, false, false, false, false, false, false, true);
    $l_form->passwordInput('pass', $CFG->user_password);
    $l_form->submitButton('submit', 'Log In');
    $l_form->hiddenInput('bs_db_name', false, $_REQUEST['bs_db_name']);
    $l_form->display();
    echo '</div><div class="clear"></div></div>';
}
コード例 #3
0
             end($image_sizes);
             $suffixes[$args['name']] = key($image_sizes);
         }
     }
 }
 $filename = $CFG->dirroot . $CFG->temp_file_location . 'archivos_' . date('Y-m-d') . '.zip';
 $zip = new ZipArchive();
 $res = $zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
 if ($res) {
     foreach ($_REQUEST['download'] as $table => $ids) {
         $record_ids = explode('|', $ids);
         $table_fields = explode('|', $_REQUEST['table_fields']);
         if (is_array($record_ids)) {
             foreach ($record_ids as $id) {
                 $record = DB::getRecord($_REQUEST['current_url'], $id);
                 $files = DB::getFiles($_REQUEST['current_url'] . '_files', $id);
                 if ($files) {
                     $i = 1;
                     foreach ($files as $row) {
                         $i = $name_in_zip != $old_name ? 1 : $i;
                         $f_name = $row['field_name'];
                         $suffix = '_' . $suffixes[$f_name];
                         $row['name'] = $row['name'] ? $row['name'] : $row['f_id'] . '_' . $row['id'];
                         $url = File::fileExists($row['name'] . $suffix . '.' . $row['ext'], $CFG->default_upload_location, $_REQUEST['current_url']);
                         if (!$url) {
                             $url = File::fileExists($row['f_id'] . '_' . $row['id'] . '.' . $row['ext'], $CFG->default_upload_location, $_REQUEST['current_url']);
                         }
                         if ($url) {
                             $name_parts = array();
                             if ($table_fields) {
                                 foreach ($table_fields as $field_name) {
コード例 #4
0
ファイル: Record.php プロジェクト: mbassan/backstage2
 function files($name, $caption = false, $encrypted = false)
 {
     global $CFG;
     $caption = $caption ? $caption : $name;
     if ($CFG->pm_editor) {
         $method_name = Form::peLabel($CFG->method_id, 'files');
     }
     $HTML = "<b class=\"record_label files_caption\">{$caption}</b> {$method_name}<ul>";
     if ($this->record_id) {
         if ($files = DB::getFiles($this->table . '_files', $this->record_id, $name)) {
             foreach ($files as $file) {
                 $HTML .= '<li>';
                 $HTML .= File::showLinkForResult($file, false, $this->table, $encrypted);
                 $HTML .= '</li>';
             }
         }
     }
     $HTML .= '</ul>';
     $this->HTML[] = $HTML;
 }
コード例 #5
0
ファイル: Gallery.php プロジェクト: mbassan/backstage2
    public static function multiple($tables, $f_id = false, $field_name = false, $size = false, $thumbnails = 0, $class = false, $limit = 0, $dimensions_l = false, $dimensions_s = false, $get_still_image = false, $overlay = false, $start_record = 0, $left_arrow = false, $right_arrow = false, $randomize = false, $link = false, $link_target_blank = false, $encrypted = false, $alt_field = false)
    {
        global $CFG;
        if (!$tables) {
            return false;
        }
        if ($CFG->backstage_mode && !($f_id > 0)) {
            return false;
        }
        self::$image_sizes = DB::getImageSizes($field_name);
        $left_arrow = $left_arrow ? $left_arrow : $CFG->gallery_left_arrow;
        $right_arrow = $right_arrow ? $right_arrow : $CFG->gallery_right_arrow;
        $tables_array = is_array($tables) ? $tables : array($tables);
        $class = $class ? $class : 'image_gallery';
        $small = key(self::$image_sizes);
        $small_dimensions = self::$image_sizes[$small];
        $small_dimensions = $dimensions_s ? $dimensions_s : $small_dimensions;
        end(self::$image_sizes);
        $large = key(self::$image_sizes);
        $large_dimensions = $size ? self::$image_sizes[$size] : self::$image_sizes[$large];
        $large_dimensions = $dimensions_l ? $dimensions_l : $large_dimensions;
        $size = $size ? $size : $large;
        if ($overlay) {
            $overlay = File::fileExists($overlay);
            if ($overlay) {
                $overlay = '<img style="height:' . $large_dimensions['height'] . 'px; width:' . $large_dimensions['width'] . 'px;" class="gallery_overlay" src="' . $overlay . '" />';
            }
        }
        foreach ($tables_array as $table) {
            $s_items = DB::getFiles($table, $f_id, $field_name, $limit, $start_record, $randomize);
            if ($s_items) {
                $items = $items ? array_merge($items, $s_items) : $s_items;
            }
        }
        if (!$items) {
            $items = array(0 => array('ext' => 'jpg'));
        }
        //$class = ($CFG->pm_editor) ? 'pm_method' : $class;
        $j = 0;
        $HTML = '<div class="' . $class . '" id="image_gallery_' . Gallery::$i . '">
					<input type="hidden" id="gallery_name_' . $field_name . '" class="gallery_name" value="' . $field_name . '" />
					<div id="display" style="/*height:' . $large_dimensions['height'] . 'px; width:' . $large_dimensions['width'] . 'px;*/ position: relative;">';
        if (count($items) > 1) {
            $HTML .= '   <div onclick="galleryNext(this,-1)" id="left-arrow">' . $CFG->gallery_left_arrow . '</div>
						<div onclick="galleryNext(this,1)" id="right-arrow">' . $CFG->gallery_right_arrow . '</div>';
        }
        foreach ($items as $row) {
            $description = $row['file_desc'] ? '<div class="file_desc">' . $row['file_desc'] . '</div>' : '';
            if (!empty($row['url'])) {
                $item = Gallery::url($row['url'], $size, $large_dimensions, $get_still_image, $field_name);
            } elseif (in_array($row['ext'], $CFG->accepted_image_formats)) {
                $item = Gallery::image($row, $size, $large_dimensions, $field_name, false, $tables_array[0], $link, $link_target_blank, $encrypted, $alt_field);
            } elseif (in_array($row['ext'], $CFG->accepted_audio_formats)) {
            } elseif ($row['ext'] == 'swf') {
                $item = Gallery::flash($row, $size, $large_dimensions, $field_name, false, $tables_array[0]);
            }
            if ($item) {
                $display = $j == 0 ? '' : 'none';
                $HTML .= '<div class="gallery_item gf_' . $row['field_name'] . '" id="' . $j . '" style="display:' . $display . '">' . $item . $overlay . $description . '</div>';
                $j++;
            }
        }
        $HTML .= '	</div>';
        if ($thumbnails > 0) {
            $k = 0;
            $HTML .= '<div id="thumbs">
						<ul>';
            if (count($items) > $thumbnails) {
                $HTML .= '<li><div id="left-arrow" onclick="galleryThumbsNext(this,-1,' . $thumbnails . ')">' . $left_arrow . '</div></li>';
            }
            foreach ($items as $row) {
                if (!empty($row['url'])) {
                    $item = Gallery::url($row['url'], $small, $small_dimensions, $get_still_image, $field_name, true);
                } elseif (in_array($row['ext'], $CFG->accepted_image_formats)) {
                    $item = Gallery::image($row, $small, $small_dimensions, $field_name, true, false, false, false, $encrypted, $alt_field);
                } elseif (in_array($row['ext'], $CFG->accepted_audio_formats)) {
                }
                if ($item) {
                    $display = $k < $thumbnails ? '' : 'none';
                    $HTML .= '<li class="gallery_thumb ' . ($k == 0 ? 'selected' : '') . '" id="' . $k . '" style="display:' . $display . ';" onclick="galleryShow(this)"><div>' . $item . '</div></li>';
                    $k++;
                }
            }
            if (count($items) > $thumbnails) {
                $HTML .= '	<li><div id="right-arrow" onclick="galleryThumbsNext(this,1,' . $thumbnails . ')">' . $right_arrow . '</div></li>';
            }
            if ($CFG->backstage_mode) {
                $HTML .= '
				<script type="text/javascript">
					thumbsResize(' . Gallery::$i . ');
				</script>';
            }
            $HTML .= '	</ul><div style="clear: both;height:0;">&nbsp;</div>
					</div>
					<div style="clear: both;height:0;">&nbsp;</div>';
        }
        $HTML .= '</div>';
        Gallery::$i++;
        return $HTML;
    }