Dotclear

Changeset 852:969647a6c35e for inc


Ignore:
Timestamp:
07/31/12 15:15:32 (13 years ago)
Author:
Dsls <dsls@…>
Branch:
sexy
Message:

sexy step 3 : no more media.

Location:
inc
Files:
2 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • inc/admin/lib.dc.page.php

    r851 r852  
    414414          self::jsVar('dotclear.msg.confirm_delete_user', 
    415415               __('Are you sure you want to delete selected users (%s)?')). 
    416           self::jsVar('dotclear.msg.confirm_delete_media', 
    417                __('Are you sure you want to remove media "%s"?')). 
    418416          self::jsVar('dotclear.msg.confirm_extract_current', 
    419417               __('Are you sure you want to extract archive in current directory?')). 
     
    623621          "jsToolBar.prototype.elements.img.src_prompt = '".html::escapeJS(__('URL?'))."'; ". 
    624622           
    625           "jsToolBar.prototype.elements.img_select.title = '".html::escapeJS(__('Media chooser'))."'; ". 
    626623          "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."'; "; 
    627624           
    628           if (!$GLOBALS['core']->auth->check('media,media_admin',$GLOBALS['core']->blog->id)) { 
    629                $res .= "jsToolBar.prototype.elements.img_select.disabled = true;\n"; 
    630           } 
    631625           
    632626          $res .= 
  • inc/admin/lib.pager.php

    r851 r852  
    100100          } 
    101101           
    102           $attach = ''; 
    103           $nb_media = $this->rs->countMedia(); 
    104           if ($nb_media > 0) { 
    105                $attach_str = $nb_media == 1 ? __('%d attachment') : __('%d attachments'); 
    106                $attach = sprintf($img,sprintf($attach_str,$nb_media),'attach.png'); 
    107           } 
    108102           
    109103          $res = '<tr class="line'.($this->rs->post_status != 1 ? ' offline' : '').'"'. 
     
    117111          '<td class="nowrap">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'. 
    118112          '<td class="nowrap">'.$this->rs->user_id.'</td>'. 
    119           '<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.' '.$attach.'</td>'. 
     113          '<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.'</td>'. 
    120114          '</tr>'; 
    121115           
     
    196190          } 
    197191           
    198           $attach = ''; 
    199           $nb_media = $this->rs->countMedia(); 
    200           if ($nb_media > 0) { 
    201                $attach_str = $nb_media == 1 ? __('%d attachment') : __('%d attachments'); 
    202                $attach = sprintf($img,sprintf($attach_str,$nb_media),'attach.png'); 
    203           } 
    204192           
    205193          $res = '<tr class="line'.($this->rs->post_status != 1 ? ' offline' : '').'"'. 
     
    212200          '<td class="nowrap">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'. 
    213201          '<td class="nowrap">'.$this->rs->user_id.'</td>'. 
    214           '<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.' '.$attach.'</td>'. 
     202          '<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.'</td>'. 
    215203          '</tr>'; 
    216204           
  • inc/admin/prepend.php

    r851 r852  
    146146     { 
    147147          $_SESSION['sess_blog_id'] = $_REQUEST['switchblog']; 
    148           if (isset($_SESSION['media_manager_dir'])) { 
    149                unset($_SESSION['media_manager_dir']); 
    150           } 
    151           if (isset($_SESSION['media_manager_page'])) { 
    152                unset($_SESSION['media_manager_page']); 
    153           } 
    154            
     148 
    155149          # Removing switchblog from URL 
    156150          $redir = $_SERVER['REQUEST_URI']; 
     
    238232          'images/menu/search.png','images/menu/search-b.png', 
    239233          'usage,contentadmin',null,null)); 
    240      $_fav['media'] = new ArrayObject(array('media','Media manager','media.php', 
    241           'images/menu/media.png','images/menu/media-b.png', 
    242           'media,media_admin',null,null)); 
    243234     $_fav['blog_pref'] = new ArrayObject(array('blog_pref','Blog settings','blog_pref.php', 
    244235          'images/menu/blog-pref.png','images/menu/blog-pref-b.png', 
     
    296287          preg_match('/blog_pref.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 
    297288          $core->auth->check('admin',$core->blog->id)); 
    298      $_menu['Blog']->prependItem(__('Media manager'),'media.php','images/menu/media.png', 
    299           preg_match('/media(_item)?.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 
    300           $core->auth->check('media,media_admin',$core->blog->id)); 
    301289     $_menu['Blog']->prependItem(__('Search'),'search.php','images/menu/search.png', 
    302290          preg_match('/search.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 
  • inc/core/class.dc.auth.php

    r851 r852  
    7575               'publish' => __('publish entries and comments'), 
    7676               'delete' => __('delete entries and comments'), 
    77                'contentadmin' => __('manage all entries and comments'), 
    78                'media' => __('manage their own media items'), 
    79                'media_admin' => __('manage all media items') 
     77               'contentadmin' => __('manage all entries and comments') 
    8078          ); 
    8179     } 
  • inc/core/class.dc.blog.php

    r851 r852  
    361361          $rs = $this->con->select($strReq); 
    362362          $rs->core = $this->core; 
    363           $rs->_nb_media = array(); 
    364363          $rs->extend('rsExtPost'); 
    365364           
  • inc/core/class.dc.core.php

    r848 r852  
    3535     public $wiki2xhtml; ///< <b>wiki2xhtml</b>        wiki2xhtml object 
    3636     public $plugins;    ///< <b>dcModules</b>         dcModules object 
    37      public $media;      ///< <b>dcMedia</b>           dcMedia object 
    38      public $postmedia;  ///< <b>dcPostMedia</b>       dcPostMedia object 
    3937     public $rest;       ///< <b>dcRestServer</b> dcRestServer object 
    4038     public $log;        ///< <b>dcLog</b>             dcLog object 
     
    12021200                    array('lang','string','en', 
    12031201                    'Default blog language'), 
    1204                     array('media_exclusion','string','/\.php$/i', 
    1205                     'File name exclusion pattern in media manager. (PCRE value)'), 
    1206                     array('media_img_m_size','integer',448, 
    1207                     'Image medium size in media manager'), 
    1208                     array('media_img_s_size','integer',240, 
    1209                     'Image small size in media manager'), 
    1210                     array('media_img_t_size','integer',100, 
    1211                     'Image thumbnail size in media manager'), 
    1212                     array('media_img_title_pattern','string','Title ;; Date(%b %Y) ;; separator(, )', 
    1213                     'Pattern to set image title when you insert it in a post'), 
    12141202                    array('nb_post_per_page','integer',20, 
    12151203                    'Number of entries on home page and category pages'), 
  • inc/core/class.dc.rs.extensions.php

    r851 r852  
    335335     } 
    336336      
    337      /** 
    338      Returns post media count using a subquery. 
    339       
    340      @param    rs   Invisible parameter 
    341      @return   <b>integer</b> 
    342      */ 
    343      public static function countMedia($rs) 
    344      { 
    345           if (isset($rs->_nb_media[$rs->index()])) 
    346           { 
    347                return $rs->_nb_media[$rs->index()]; 
    348           } 
    349           else 
    350           { 
    351                $strReq = 
    352                'SELECT count(media_id) '. 
    353                'FROM '.$rs->core->prefix.'post_media '. 
    354                'WHERE post_id = '.(integer) $rs->post_id.' '; 
    355                 
    356                $res = (integer) $rs->core->con->select($strReq)->f(0); 
    357                $rs->_nb_media[$rs->index()] = $res; 
    358                return $res; 
    359           } 
    360      } 
    361337} 
    362338 
  • inc/core/class.dc.xmlrpc.php

    r851 r852  
    7575               'List of most recent posts in the system'); 
    7676           
    77           $this->addCallback('metaWeblog.newMediaObject',array($this,'mw_newMediaObject'), 
    78                array('struct','string','string','string','struct'), 
    79                'Upload a file on the web server'); 
    80            
    8177          # MovableType methods 
    8278          $this->addCallback('mt.getRecentPostTitles',array($this,'mt_getRecentPostTitles'), 
     
    573569           
    574570          return true; 
    575      } 
    576       
    577      private function newMediaObject($blog_id,$user,$pwd,$file) 
    578      { 
    579           if (empty($file['name'])) { 
    580                throw new Exception('No file name'); 
    581           } 
    582            
    583           if (empty($file['bits'])) { 
    584                throw new Exception('No file content'); 
    585           } 
    586            
    587           $file_name = $file['name']; 
    588           $file_bits = $file['bits']; 
    589            
    590           $this->setUser($user,$pwd); 
    591           $this->setBlog(); 
    592            
    593           $media = new dcMedia($this->core); 
    594            
    595           $dir_name = path::clean(dirname($file_name)); 
    596           $file_name = basename($file_name); 
    597            
    598           $dir_name = preg_replace('!^/!','',$dir_name); 
    599           if ($dir_name != '') 
    600           { 
    601                $dir = explode('/',$dir_name); 
    602                $cwd = './'; 
    603                foreach ($dir as $v) 
    604                { 
    605                     $v = files::tidyFileName($v); 
    606                     $cwd .= $v.'/'; 
    607                     $media->makeDir($v); 
    608                     $media->chdir($cwd); 
    609                } 
    610           } 
    611            
    612           $media_id = $media->uploadBits($file_name,$file_bits); 
    613            
    614           $f = $media->getFile($media_id); 
    615           return array( 
    616                'file' => $file_name, 
    617                'url' => $f->file_url, 
    618                'type' => files::getMimeType($file_name) 
    619           ); 
    620571     } 
    621572      
     
    940891     } 
    941892      
    942      public function mw_newMediaObject($blogid,$username,$password,$file) 
    943      { 
    944           return $this->newMediaObject($blogid,$username,$password,$file); 
    945      } 
    946       
    947893     /* MovableType methods 
    948894     --------------------------------------------------- */ 
     
    1024970     { 
    1025971          return $this->getTags($username,$password); 
    1026      } 
    1027       
    1028      public function wp_uploadFile($blogid,$username,$password,$file) 
    1029      { 
    1030           return $this->newMediaObject($blogid,$username,$password,$file); 
    1031972     } 
    1032973      
  • inc/dbschema/db-schema.php

    r851 r852  
    112112     ; 
    113113 
    114 $_s->media 
    115      ->media_id          ('bigint',     0,   false) 
    116      ->user_id           ('varchar',    32,  false) 
    117      ->media_path        ('varchar',    255, false) 
    118      ->media_title       ('varchar',    255, false) 
    119      ->media_file        ('varchar',    255, false) 
    120      ->media_dir         ('varchar',    255, false,    "'.'") 
    121      ->media_meta        ('text',       0,   true,     null) 
    122      ->media_dt          ('timestamp',  0,   false,    'now()') 
    123      ->media_creadt      ('timestamp',  0,   false,    'now()') 
    124      ->media_upddt       ('timestamp',  0,   false,    'now()') 
    125      ->media_private     ('smallint',   0,   false,    0) 
    126       
    127      ->primary('pk_media','media_id') 
    128      ; 
    129  
    130 $_s->post_media 
    131      ->media_id     ('bigint',     0,   false) 
    132      ->post_id      ('bigint',     0,   false) 
    133      ->link_type         ('varchar',    32,  false,    "'attachment'") 
    134       
    135      ->primary('pk_post_media','media_id','post_id','link_type') 
    136      ; 
    137114 
    138115$_s->log 
     
    181158$_s->post->index         ('idx_post_user_id',               'btree',  'user_id'); 
    182159$_s->post->index         ('idx_post_blog_id',               'btree',  'blog_id'); 
    183 $_s->media->index        ('idx_media_user_id',              'btree',  'user_id'); 
    184 $_s->post_media->index   ('idx_post_media_post_id',         'btree',  'post_id'); 
    185 $_s->post_media->index   ('idx_post_media_media_id',        'btree',  'media_id'); 
    186160$_s->log->index          ('idx_log_user_id',                'btree',  'user_id'); 
    187161$_s->meta->index         ('idx_meta_post_id',     'btree','post_id'); 
     
    206180$_s->post->reference('fk_post_user','user_id','user','user_id','cascade','cascade'); 
    207181$_s->post->reference('fk_post_blog','blog_id','blog','blog_id','cascade','cascade'); 
    208 $_s->media->reference('fk_media_user','user_id','user','user_id','cascade','cascade'); 
    209 $_s->post_media->reference('fk_media','media_id','media','media_id','cascade','cascade'); 
    210 $_s->post_media->reference('fk_media_post','post_id','post','post_id','cascade','cascade'); 
    211182$_s->log->reference('fk_log_blog','blog_id','blog','blog_id','cascade','set null'); 
    212183$_s->meta->reference('fk_meta_post','post_id','post','post_id','cascade','cascade'); 
     
    218189{ 
    219190     $_s->setting->index      ('idx_setting_blog_id_null',  'btree',  '(blog_id IS NULL)'); 
    220      $_s->media->index        ('idx_media_media_path',      'btree',  'media_path', 'media_dir'); 
    221191     $_s->pref->index         ('idx_pref_user_id_null',          'btree',  '(user_id IS NULL)'); 
    222192} 
  • inc/prepend.php

    r851 r852  
    3131$__autoload['dcError']                  = dirname(__FILE__).'/core/class.dc.error.php'; 
    3232$__autoload['dcMeta']                   = dirname(__FILE__).'/core/class.dc.meta.php'; 
    33 $__autoload['dcMedia']                  = dirname(__FILE__).'/core/class.dc.media.php'; 
    34 $__autoload['dcPostMedia']                   = dirname(__FILE__).'/core/class.dc.postmedia.php'; 
    3533$__autoload['dcModules']                = dirname(__FILE__).'/core/class.dc.modules.php'; 
    3634$__autoload['dcThemes']                 = dirname(__FILE__).'/core/class.dc.themes.php'; 
  • inc/public/lib.tpl.context.php

    r851 r852  
    318318     } 
    319319      
    320      # First post image helpers 
    321      public static function EntryFirstImageHelper($size,$class="") 
    322      { 
    323           global $core, $_ctx; 
    324            
    325           $media = new dcMedia($core); 
    326           $sizes = implode('|',array_keys($media->thumb_sizes)).'|o'; 
    327           if (!preg_match('/^'.$sizes.'$/',$size)) { 
    328                $size = 's'; 
    329           } 
    330           $p_url = $core->blog->settings->system->public_url; 
    331           $p_site = preg_replace('#^(.+?//.+?)/(.*)$#','$1',$core->blog->url); 
    332           $p_root = $core->blog->public_path; 
    333            
    334           $pattern = '(?:'.preg_quote($p_site,'/').')?'.preg_quote($p_url,'/'); 
    335           $pattern = sprintf('/<img.+?src="%s(.*?\.(?:jpg|jpeg|gif|png))"[^>]+/msu',$pattern); 
    336            
    337           $src = ''; 
    338           $alt = ''; 
    339            
    340           # We first look in post content 
    341           if ($_ctx->posts) 
    342           { 
    343                $subject = $_ctx->posts->post_excerpt_xhtml.$_ctx->posts->post_content_xhtml; 
    344                if (preg_match_all($pattern,$subject,$m) > 0) 
    345                { 
    346                     foreach ($m[1] as $i => $img) { 
    347                          if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
    348                               $src = $p_url.(dirname($img) != '/' ? dirname($img) : '').'/'.$src; 
    349                               if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
    350                                    $alt = $malt[1]; 
    351                               } 
    352                               break; 
    353                          } 
    354                     } 
    355                } 
    356           } 
    357            
    358           if ($src) { 
    359                return '<img alt="'.$alt.'" src="'.$src.'" class="'.$class.'" />'; 
    360           } 
    361      } 
    362       
    363      private static function ContentFirstImageLookup($root,$img,$size) 
    364      { 
    365           global $core; 
    366            
    367           # Get base name and extension 
    368           $info = path::info($img); 
    369           $base = $info['base']; 
    370            
    371           $media = new dcMedia($core); 
    372           $sizes = implode('|',array_keys($media->thumb_sizes)); 
    373           if (preg_match('/^\.(.+)_('.$sizes.')$/',$base,$m)) { 
    374                $base = $m[1]; 
    375           } 
    376            
    377           $res = false; 
    378           if ($size != 'o' && file_exists($root.'/'.$info['dirname'].'/.'.$base.'_'.$size.'.jpg')) 
    379           { 
    380                $res = '.'.$base.'_'.$size.'.jpg'; 
    381           } 
    382           else 
    383           { 
    384                $f = $root.'/'.$info['dirname'].'/'.$base; 
    385                if (file_exists($f.'.'.$info['extension'])) { 
    386                     $res = $base.'.'.$info['extension']; 
    387                } elseif (file_exists($f.'.jpg')) { 
    388                     $res = $base.'.jpg'; 
    389                } elseif (file_exists($f.'.jpeg')) { 
    390                     $res = $base.'.jpeg'; 
    391                } elseif (file_exists($f.'.png')) { 
    392                     $res = $base.'.png'; 
    393                } elseif (file_exists($f.'.gif')) { 
    394                     $res = $base.'.gif'; 
    395                } 
    396           } 
    397            
    398           if ($res) { 
    399                return $res; 
    400           } 
    401           return false; 
    402      } 
    403320} 
    404321?> 
  • inc/public/prepend.php

    r420 r852  
    4949          ,70); 
    5050} 
    51  
    52 # Loading media 
    53 try { 
    54      $core->media = new dcMedia($core); 
    55 } catch (Exception $e) {} 
    5651 
    5752# Creating template context 
Note: See TracChangeset for help on using the changeset viewer.

Sites map