Changeset 2179
- Timestamp:
- 04/11/10 16:22:04 (13 years ago)
- Location:
- plugins/filesAlias
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/filesAlias/_define.php
r2169 r2179 17 17 /* Description*/ "Create aliases of your blog's files", 18 18 /* Author */ "Osku", 19 /* Version */ '0. 2',19 /* Version */ '0.3.3', 20 20 /* Permissions */ 'contentadmin' 21 21 ); -
plugins/filesAlias/_prepend.php
r2169 r2179 14 14 15 15 $__autoload['FilesAliases'] = dirname(__FILE__).'/inc/class.files.alias.php'; 16 $__autoload['aliasMedia'] = dirname(__FILE__).'/inc/class.files.alias.php'; 16 17 17 18 $core->url->register('filesalias',$core->blog->settings->filesalias_prefix,'^' -
plugins/filesAlias/_public.php
r2169 r2179 18 18 public static function alias($args) 19 19 { 20 $o = new FilesAliases($GLOBALS['core']); 21 $dest = $o->getAlias($args); 22 20 global $core; 21 $f = new FilesAliases($core); 22 $dest = $f->getAlias($args); 23 $owned = false; 24 23 25 if ($dest->isEmpty()) { 24 26 self::p404(); 25 27 } 26 $link = $dest->filesalias_destination; 28 29 $target = $dest->filesalias_destination; 30 27 31 if ($dest->filesalias_disposable) { 28 $ o->deleteAlias($args);32 $f->deleteAlias($args); 29 33 } 30 http::head(302, 'Found'); 31 header('Location: '.$link); 34 35 $a= new aliasMedia($core); 36 37 if (!preg_match('/^'.preg_quote($a->root_url,'/').'/',$target)) { 38 39 $media = $a->getMediaId($target); 40 41 if (empty($media)) 42 { 43 self::p404(); 44 } 45 46 $file = $core->media->getFile($media); 47 48 if (empty($file->file)) 49 { 50 self::p404(); 51 return; 52 } 53 54 header('Content-type: '.$file->type); 55 header('Content-Length: '.$file->size); 56 header('Content-Disposition: attachment; filename="'.$file->basename.'"'); 57 readfile($file->file); 58 return; 59 } 60 else 61 { 62 http::head(302, 'Found'); 63 header('Location: '.$target); 64 exit; 65 } 32 66 } 33 67 } -
plugins/filesAlias/inc/class.files.alias.php
r2169 r2179 42 42 'FROM '.$this->core->prefix.'filesalias '. 43 43 "WHERE blog_id = '".$this->core->con->escape($this->core->blog->id)."' ". 44 "AND filesalias_url = '".$ url."' ".44 "AND filesalias_url = '".$this->core->con->escape($url)."' ". 45 45 'ORDER BY filesalias_position ASC '; 46 46 … … 104 104 'DELETE FROM '.$this->core->prefix.'filesalias '. 105 105 "WHERE blog_id = '".$this->core->con->escape($this->core->blog->id)."' ". 106 "AND filesalias_url = '".$ url."' "106 "AND filesalias_url = '".$this->core->con->escape($url)."' " 107 107 ); 108 108 } 109 109 } 110 111 class aliasMedia extends dcMedia 112 { 113 public function __construct($core) 114 { 115 parent::__construct($core); 116 } 117 118 public function getMediaId($target) 119 { 120 $strReq = 121 'SELECT media_id '. 122 'FROM '.$this->table.' '. 123 "WHERE media_path = '".$this->path."' ". 124 "AND media_file = '".$this->con->escape($target)."' "; 125 126 $rs = $this->core->con->select($strReq); 127 return $rs->media_id; 128 } 129 } 110 130 ?> -
plugins/filesAlias/index.php
r2169 r2179 14 14 $o = new FilesAliases($core); 15 15 $aliases = $o->getAliases(); 16 $media = new dcMedia($core); 16 17 17 18 # Update aliases … … 29 30 if (isset($_POST['filesalias_url'])) 30 31 { 31 $filesalias_url = empty($_POST['filesalias_url']) ? md5(uniqid(rand(), true)) : $_POST['filesalias_url']; 32 $url = empty($_POST['filesalias_url']) ? md5(uniqid(rand(), true)) : $_POST['filesalias_url']; 33 34 $target = $_POST['filesalias_destination']; 35 $totrash = $_POST['filesalias_disposable']; 32 36 37 if (preg_match('/^'.preg_quote($media->root_url,'/').'/',$target)) { 38 $target = preg_replace('/^'.preg_quote($media->root_url,'/').'/','',$target); 39 } 40 33 41 try { 34 $o->createAlias($ filesalias_url,$_POST['filesalias_destination'],count($aliases)+1,$_POST['filesalias_disposable']);42 $o->createAlias($url,$target,count($aliases)+1,$totrash); 35 43 http::redirect($p_url.'&created=1'); 36 44 } catch (Exception $e) { … … 107 115 } 108 116 109 $link = '<a href="'.$core->blog->url.$core->url->getBase('filesalias').'/'.html::escapeHTML($v['filesalias_url']).'">'. 110 '<img alt="'.__('Direct link').'" title="'.__('Direct link').'" src="index.php?pf=filesAlias/img/link.png" /></a>'; 117 $url = $core->blog->url.$core->url->getBase('filesalias').'/'.html::escapeHTML($v['filesalias_url']); 118 $link = '<a href="'.$url.'">'. 119 '<img alt="'.__('Direct link').'" title="'.$url.'" src="index.php?pf=filesAlias/img/link.png" /></a>'; 120 121 if (!preg_match('#^http(s)?://#',$v['filesalias_destination'])) { 122 $public = 'style="background:#FFF6BF;color:#514721;"'; 123 } 124 else 125 { 126 $public = ''; 127 } 111 128 112 129 echo 113 '<tr class= '.$line.'>'.114 '<td class="status nowrap">'.$ status.form::field(array('a['.$k.'][filesalias_url]'),48,255,html::escapeHTML($v['filesalias_url']),'','','','style="margin-left:10px;"').' • '.$link.' </td>'.115 '<td class=" ">'.form::field(array('a['.$k.'][filesalias_destination]'),70,255,html::escapeHTML($v['filesalias_destination']),'maximal' ).'</td>'.130 '<tr class="'.$line.'" >'. 131 '<td class="status nowrap">'.$link.' '.$status.form::field(array('a['.$k.'][filesalias_url]'),48,255,html::escapeHTML($v['filesalias_url']),'','','','style="margin-left:10px;"').'</td>'. 132 '<td class=" ">'.form::field(array('a['.$k.'][filesalias_destination]'),70,255,html::escapeHTML($v['filesalias_destination']),'maximal','','',$public).'</td>'. 116 133 '<td class="status nowrap">'.form::checkbox(array('a['.$k.'][filesalias_disposable]'),1,$v['filesalias_disposable']).'</td>'. 117 134 '</tr>'; … … 142 159 '<fieldset>'. 143 160 '<legend>'.__('Prefix of Aliases URLs').'</legend>'. 144 '<p>'.__('Base URL scheme:').' — '.$core->blog->url.'<span style="color : #069">'.$core->url->getBase('filesalias').'</span></p>'.161 '<p>'.__('Base URL scheme:').' — '.$core->blog->url.'<span style="color : #069">'.$core->url->getBase('filesalias').'</span></p>'. 145 162 '<p><label class="required">' 146 163 .__('Media prefix URL:').' '.form::field('filesalias_prefix',20,255,$core->blog->settings->filesalias_prefix).'</label></p>'.
Note: See TracChangeset
for help on using the changeset viewer.