Changes in [1813:3ba988cd501f:1814:53cc8fc5cad5]
- Files:
-
- 48 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/blogs.php
r1553 r1668 134 134 135 135 echo 136 '<table class="clear"><tr>'. 137 '<th>'.__('Blog name').'</th>'. 138 '<th class="nowrap">'.__('Last update').'</th>'. 139 '<th class="nowrap">'.__('Entries (all types)').'</th>'. 140 '<th class="nowrap">'.__('Blog ID').'</th>'. 141 '<th> </th>'. 142 '<th class="nowrap">'.__('Status').'</th>'. 136 '<table class="clear"><caption class="hidden">'.__('Blogs list').'</caption><tr>'. 137 '<th scope="col" class="nowrap">'.__('Blog id').'</th>'. 138 '<th scope="col">'.__('Blog name').'</th>'. 139 '<th scope="col" class="nowrap">'.__('Entries (all types)').'</th>'. 140 '<th scope="col" class="nowrap">'.__('Last update').'</th>'. 141 '<th scope="col" class="nowrap">'.__('Status').'</th>'. 143 142 '</tr>'; 144 143 … … 164 163 if ($GLOBALS['core']->auth->isSuperAdmin()) { 165 164 $edit_link = 166 '<a href="blog.php?id='.$blog_id.'" '. 167 'title="'.sprintf(__('Edit blog %s'),$blog_id).'">'. 168 __('edit').'</a>'; 165 '<a href="blog.php?id='.$blog_id.'" title="'.sprintf(__('Edit blog settings for %s'),$blog_id).'">'. 166 '<img src="images/edit-mini.png" alt="'.__('Edit blog settings').'" /> '.$blog_id.'</a> '; 169 167 } 170 168 … … 177 175 return 178 176 '<tr class="line">'. 177 '<td class="nowrap">'.$edit_link.'</td>'. 179 178 '<td class="maximal"><a href="index.php?switchblog='.$rs->blog_id.'" '. 180 179 'title="'.sprintf(__('Switch to blog %s'),$rs->blog_id).'">'. 181 180 html::escapeHTML($rs->blog_name).'</a></td>'. 182 '<td class="nowrap">'.$blog_upddt.'</td>'. 183 '<td class="nowrap">'.$core->countBlogPosts($rs->blog_id).'</td>'. 184 '<td class="nowrap">'.$blog_id.'</td>'. 185 '<td>'.$edit_link.'</td>'. 181 '<td class="nowrap count">'.$core->countBlogPosts($rs->blog_id).'</td>'. 182 '<td class="nowrap count">'.$blog_upddt.'</td>'. 186 183 '<td class="status">'.$img_status.'</td>'. 187 184 '</tr>'; -
admin/media.php
r1636 r1678 422 422 { 423 423 echo 424 '<p class="zip-dl"><a href="'.html::escapeURL($page_url).'&zipdl=1">'.424 '<p class="zip-dl"><a class="submit" href="'.html::escapeURL($page_url).'&zipdl=1">'. 425 425 __('Download this directory as a zip file').'</a></p>'; 426 426 } -
admin/style/default.css
r1812 r1814 578 578 padding: 1em 3em; 579 579 vertical-align: top; 580 border: 1px solid #ccc; 580 border: 1px solid #ddd; 581 border-collapse: collapse; 582 } 583 .db-item h3 { 584 font-weight: normal; 581 585 } 582 586 #dashboard-items img { … … 752 756 position: static; 753 757 } 754 .media-col-0 {758 /*.media-col-0 { 755 759 clear: left; 756 760 } … … 779 783 margin: 0 0 0 60px; 780 784 padding: 0; 781 } 785 }*/ 782 786 li.media-action { 783 787 display: block; … … 795 799 li.media-action input { 796 800 border: none; 801 } 802 .media-item { 803 position: relative; 804 border: 1px solid #ccc; 805 margin: 1em; 806 padding: 1em; 807 width: 300px; 808 height: 120px; 809 display: inline-block; 810 vertical-align: top; 811 } 812 div.media-list .media-item { 813 } 814 a.media-icon { 815 display: block; 816 border-bottom: none; 817 margin: 0 auto; 818 } 819 .media-icon img { 820 display: block; 821 } 822 .media-item ul { 823 display: block; 824 list-style: none; 825 margin: 0; 826 padding: 0; 797 827 } 798 828 /* ------------------------------------------------------------------ preferences */ … … 1306 1336 border-style: solid; 1307 1337 border-color: #e3e3e3; 1308 padding: .3em .5em;1338 padding: .3em 1em .3em .5em; 1309 1339 vertical-align: top; 1310 1340 } … … 1314 1344 border-color: #ccc; 1315 1345 background: #f3f3ff; 1316 padding: .3em .5em;1346 padding: .3em 1em .3em .5em; 1317 1347 vertical-align: top; 1318 1348 text-align: left; … … 1339 1369 white-space: nowrap; 1340 1370 vertical-align: top; 1371 } 1372 table .count { 1373 text-align: right; 1374 padding-right: 1.5em; 1341 1375 } 1342 1376 table.settings, table.prefs { -
inc/admin/lib.pager.php
r1622 r1670 136 136 '<td class="maximal" scope="row"><a href="'.$this->core->getPostAdminURL($this->rs->post_type,$this->rs->post_id).'">'. 137 137 html::escapeHTML($this->rs->post_title).'</a></td>'. 138 '<td class="nowrap ">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'.138 '<td class="nowrap count">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'. 139 139 '<td class="nowrap">'.$cat_title.'</td>'. 140 140 '<td class="nowrap">'.html::escapeHTML($this->rs->user_id).'</td>'. 141 '<td class="nowrap ">'.$this->rs->nb_comment.'</td>'.142 '<td class="nowrap ">'.$this->rs->nb_trackback.'</td>'.141 '<td class="nowrap count">'.$this->rs->nb_comment.'</td>'. 142 '<td class="nowrap count">'.$this->rs->nb_trackback.'</td>'. 143 143 '<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.' '.$attach.'</td>'. 144 144 '</tr>'; … … 234 234 'title="'.html::escapeHTML($this->rs->getURL()).'">'. 235 235 html::escapeHTML($this->rs->post_title).'</a></td>'. 236 '<td class="nowrap ">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'.236 '<td class="nowrap count">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'. 237 237 '<td class="nowrap">'.html::escapeHTML($this->rs->user_id).'</td>'. 238 238 '<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.' '.$attach.'</td>'. … … 260 260 $html_block = 261 261 '<table><caption class="hidden">'.__('Comments and trackbacks list').'</caption><tr>'. 262 '<th colspan="3" scope="col" abbr="comm" class="first">'.__('Type and author').'</th>'. 262 '<th colspan="2" scope="col" abbr="comm" class="first">'.__('Type').'</th>'. 263 '<th scope="col">'.__('Author').'</th>'. 263 264 '<th scope="col">'.__('Date').'</th>'. 264 265 '<th scope="col" class="txt-center">'.__('Status').'</th>'. … … 326 327 $post_title = mb_strcut($post_title,0,57).'...'; 327 328 } 329 $comment_title = sprintf(__('Edit the %1$s from %2$s'), 330 $this->rs->comment_trackback ? __('trackback') : __('comment'), 331 html::escapeHTML($this->rs->comment_author)); 328 332 329 333 $res = '<tr class="line'.($this->rs->comment_status != 1 ? ' offline' : '').'"'. … … 333 337 '<td class="nowrap">'. 334 338 form::checkbox(array('comments[]'),$this->rs->comment_id,'','','',0).'</td>'. 335 '<td class="status txt-center">'. 336 '<a href="'.$comment_url.'">'. 337 '<img src="images/edit-mini.png" alt="" title="'.__('Edit').'" /> '. 338 '</a>'.'</td>'. 339 '<td class="maximal" scope="row">'.($this->rs->comment_trackback ? __('trackback from') : __('comment from')).' '. 340 '<a href="'.$author_url.'">'.html::escapeHTML($this->rs->comment_author).'</a></td>'. 341 '<td class="nowrap">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->comment_dt).'</td>'. 339 '<td class="nowrap" abbr="'.__('Type and author').'" scope="raw">'. 340 '<a href="'.$comment_url.'" title="'.$comment_title.'">'. 341 '<img src="images/edit-mini.png" alt="'.__('Edit').'"/> '. 342 ($this->rs->comment_trackback ? __('trackback') : __('comment')).' '.'</a></td>'. 343 '<td class="nowrap maximal"><a href="'.$author_url.'">'.html::escapeHTML($this->rs->comment_author).'</a></td>'. 344 '<td class="nowrap count">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->comment_dt).'</td>'. 342 345 '<td class="nowrap status txt-center">'.$img_status.'</td>'. 343 346 '<td class="nowrap"><a href="'.$post_url.'">'. … … 372 375 '<th scope="col">'.__('Last Name').'</th>'. 373 376 '<th scope="col">'.__('Display name').'</th>'. 374 '<th scope="col" class="nowrap">'.__('Entries ').'</th>'.377 '<th scope="col" class="nowrap">'.__('Entries (all types)').'</th>'. 375 378 '</tr>%s</table>'; 376 379 … … 418 421 '<td class="nowrap">'.html::escapeHTML($this->rs->user_name).'</td>'. 419 422 '<td class="nowrap">'.html::escapeHTML($this->rs->user_displayname).'</td>'. 420 '<td class="nowrap "><a href="posts.php?user_id='.$this->rs->user_id.'">'.423 '<td class="nowrap count"><a href="posts.php?user_id='.$this->rs->user_id.'">'. 421 424 $this->rs->nb_post.'</a></td>'. 422 425 '</tr>'; -
inc/core/class.dc.trackback.php
r1179 r1674 80 80 } 81 81 82 $data = array( 83 'title' => $post_title, 84 'excerpt' => $post_excerpt, 85 'url' => $post_url, 86 'blog_name' => trim(html::escapeHTML(html::clean($this->core->blog->name))) 87 //,'__debug' => false 88 ); 89 90 # Ping 91 try 92 { 93 $http = self::initHttp($url,$path); 94 $http->post($path,$data,'UTF-8'); 95 $res = $http->getContent(); 96 } 97 catch (Exception $e) 98 { 99 throw new Exception(__('Unable to ping URL')); 100 } 101 102 $pattern = 103 '|<response>.*<error>(.*)</error>(.*)'. 104 '(<message>(.*)</message>(.*))?'. 105 '</response>|msU'; 106 107 if (!preg_match($pattern,$res,$match)) 108 { 109 throw new Exception(sprintf(__('%s is not a ping URL'),$url)); 110 } 111 112 $ping_error = trim($match[1]); 113 $ping_msg = (!empty($match[4])) ? $match[4] : ''; 82 $ping_parts = explode('|',$url); 83 84 # Let's walk by the trackback way 85 if (count($ping_parts) < 2) { 86 $data = array( 87 'title' => $post_title, 88 'excerpt' => $post_excerpt, 89 'url' => $post_url, 90 'blog_name' => trim(html::escapeHTML(html::clean($this->core->blog->name))) 91 //,'__debug' => false 92 ); 93 94 # Ping 95 try 96 { 97 $http = self::initHttp($url,$path); 98 $http->post($path,$data,'UTF-8'); 99 $res = $http->getContent(); 100 } 101 catch (Exception $e) 102 { 103 throw new Exception(__('Unable to ping URL')); 104 } 105 106 $pattern = 107 '|<response>.*<error>(.*)</error>(.*)'. 108 '(<message>(.*)</message>(.*))?'. 109 '</response>|msU'; 110 111 if (!preg_match($pattern,$res,$match)) 112 { 113 throw new Exception(sprintf(__('%s is not a ping URL'),$url)); 114 } 115 116 $ping_error = trim($match[1]); 117 $ping_msg = (!empty($match[4])) ? $match[4] : ''; 118 } 119 # Damnit ! Let's play pingback 120 else { 121 try { 122 $xmlrpc = new xmlrpcClient($ping_parts[0]); 123 $res = $xmlrpc->query('pingback.ping', $post_url, $ping_parts[1]); 124 $ping_error = '0'; 125 } 126 catch (xmlrpcException $e) { 127 $ping_error = $e->getCode(); 128 $ping_msg = $e->getMessage(); 129 } 130 catch (Exception $e) { 131 throw new Exception(__('Unable to ping URL')); 132 } 133 } 114 134 115 135 if ($ping_error != '0') { … … 289 309 } 290 310 //@} 311 312 /// @name Receive pingbacks 313 //@{ 314 /** 315 Receives a pingback and insert it as a comment of given post. 316 317 @param from_url <b>string</b> Source URL 318 @param to_url <b>string</b> Target URL 319 */ 320 public function receive_pb($from_url, $to_url) 321 { 322 $reg = '!^'.preg_quote($this->core->blog->url).'(.*)!'; 323 $type = $args = $next = ''; 324 325 # Are you dumb? 326 if (!preg_match($reg, $to_url, $m)) { 327 throw new Exception(__('Any chance you ping one of my contents? No? Really?'), 0); 328 } 329 330 # Does the targeted URL look like a registered post type? 331 $url_part = $m[1]; 332 $p_type = ''; 333 $post_types = $this->core->getPostTypes(); 334 foreach ($post_types as $k => $v) { 335 $reg = '!^'.preg_quote(str_replace('%s', '', $v['public_url'])).'(.*)!'; 336 if (preg_match($reg, $url_part, $n)) { 337 $p_type = $k; 338 $post_url = $n[1]; 339 break; 340 } 341 } 342 343 if (empty($p_type)) { 344 throw new Exception(__('Sorry but you can not ping this type of content.'), 33); 345 } 346 347 # Time to see if we've got a winner... 348 $params = array( 349 'post_type' => $p_type, 350 'post_url' => $post_url, 351 ); 352 $posts = $this->core->blog->getPosts($params); 353 354 # Missed! 355 if ($posts->isEmpty()) { 356 throw new Exception(__('Oops. Kinda "not found" stuff. Please check the target URL twice.'), 33); 357 } 358 359 # Nice try. But, sorry, no. 360 if (!$posts->trackbacksActive()) { 361 throw new Exception(__('Sorry, dude. This entry does not accept pingback at the moment.'), 33); 362 } 363 364 # OK. We've found our champion. Time to check the remote part. 365 try { 366 $http = self::initHttp($from_url, $from_path); 367 368 # First round : just to be sure the ping comes from an acceptable resource type. 369 $http->setHeadersOnly(true); 370 $http->get($from_path); 371 $c_type = explode(';', $http->getHeader('content-type')); 372 373 # Bad luck. Bye, bye... 374 if (!in_array($c_type[0],array('text/html', 'application/xhtml+xml'))) { 375 throw new Exception(__('Your source URL does not look like a supported content type. Sorry. Bye, bye!'), 0); 376 } 377 378 # Second round : let's go fetch and parse the remote content 379 $http->setHeadersOnly(false); 380 $http->get($from_path); 381 $remote_content = $http->getContent(); 382 383 $charset = mb_detect_encoding($remote_content, 384 'UTF-8,ISO-8859-1,ISO-8859-2,ISO-8859-3,'. 385 'ISO-8859-4,ISO-8859-5,ISO-8859-6,ISO-8859-7,ISO-8859-8,'. 386 'ISO-8859-9,ISO-8859-10,ISO-8859-13,ISO-8859-14,ISO-8859-15'); 387 388 if (strtolower($charset) != 'utf-8') { 389 $remote_content = iconv($charset,'UTF-8',$remote_content); 390 } 391 392 # We want a title... 393 if (!preg_match('!<title>([^<].*?)</title>!mis', $remote_content, $m)) { 394 throw new Exception(__('Where\'s your title?'), 0); 395 } 396 $title = trim(html::clean($m[1])); 397 $title = html::decodeEntities($title); 398 $title = html::escapeHTML($title); 399 $title = text::cutString($title,60); 400 401 preg_match('!<body[^>]*?>(.*)?</body>!msi', $remote_content, $m); 402 $source = $m[1]; 403 $source = preg_replace('![\r\n\s]+!ms',' ',$source); 404 $source = preg_replace( "/<\/*(h\d|p|th|td|li|dt|dd|pre|caption|input|textarea|button)[^>]*>/", "\n\n", $source ); 405 $source = strip_tags($source, '<a>'); 406 $source = explode("\n\n",$source); 407 408 $excerpt = ''; 409 foreach ($source as $line) { 410 if (strpos($line, $to_url) !== false) { 411 if (preg_match("!<a[^>]+?".$to_url."[^>]*>([^>]+?)</a>!", $line, $m)) { 412 $excerpt = strip_tags($line); 413 break; 414 } 415 } 416 } 417 if ($excerpt) { 418 $excerpt = '(…) '.text::cutString(html::escapeHTML($excerpt),255).' (…)'; 419 } 420 else { 421 $excerpt = '(??)'; 422 } 423 424 $comment = 425 "<!-- TB -->\n". 426 '<p><strong>'.$title."</strong></p>\n". 427 '<p>'.$excerpt.'</p>'; 428 429 $cur = $this->core->con->openCursor($this->core->prefix.'comment'); 430 $cur->comment_author = 'Anonymous blog'; 431 $cur->comment_site = (string) $from_url; 432 $cur->comment_content = (string) $comment; 433 $cur->post_id = $posts->post_id; 434 $cur->comment_trackback = 1; 435 $cur->comment_status = $this->core->blog->settings->system->trackbacks_pub ? 1 : -1; 436 $cur->comment_ip = http::realIP(); 437 438 # --BEHAVIOR-- publicBeforeTrackbackCreate 439 $this->core->callBehavior('publicBeforeTrackbackCreate',$cur); 440 if ($cur->post_id) { 441 $comment_id = $this->core->blog->addComment($cur); 442 443 # --BEHAVIOR-- publicAfterTrackbackCreate 444 $this->core->callBehavior('publicAfterTrackbackCreate',$cur,$comment_id); 445 } 446 } 447 catch (Exception $e) { 448 throw new Exception(__('Sorry, an internal problem has occured.'), 0); 449 } 450 451 return __('Thanks, mate. It was a pleasure.'); 452 } 453 //@} 291 454 292 455 private static function initHttp($url,&$path) … … 346 509 for ($i = 0; $i<count($match); $i++) 347 510 { 348 if (preg_match('/href="( http:\/\/[^"]+)"/ms', $match[$i][1], $matches)) {511 if (preg_match('/href="((https?:\/)?\/[^"]+)"/ms', $match[$i][1], $matches)) { 349 512 $res[$matches[1]] = 1; 350 513 } … … 358 521 for ($i = 0; $i<count($match); $i++) 359 522 { 360 if (preg_match('/cite="( http:\/\/[^"]+)"/ms', $match[$i][2], $matches)) {523 if (preg_match('/cite="((https?:\/)?\/[^"]+)"/ms', $match[$i][2], $matches)) { 361 524 $res[$matches[1]] = 1; 362 525 } … … 369 532 private function getPingURL($url) 370 533 { 534 if (strpos($url,'/') === 0) { 535 $url = http::getHost().$url; 536 } 537 371 538 try 372 539 { … … 374 541 $http->get($path); 375 542 $page_content = $http->getContent(); 543 $pb_url = $http->getHeader('x-pingback'); 376 544 } 377 545 catch (Exception $e) … … 380 548 } 381 549 550 # If we've got a X-Pingback header and it's a valid URL, it will be enough 551 if ($pb_url && filter_var($pb_url,FILTER_VALIDATE_URL) && preg_match('!^https?:!',$pb_url)) { 552 return $pb_url.'|'.$url; 553 } 554 555 # No X-Pingback header. A link rel=pingback, maybe ? 556 $pattern_pingback = '!<link rel="pingback" href="(.*?)"( /)?>!msi'; 557 558 if (preg_match($pattern_pingback,$page_content,$m)) { 559 $pb_url = $m[1]; 560 if (filter_var($pb_url,FILTER_VALIDATE_URL) && preg_match('!^https?:!',$pb_url)) { 561 return $pb_url.'|'.$url; 562 } 563 } 564 565 # No pingback ? OK, let's check for a trackback data chunk... 382 566 $pattern_rdf = 383 567 '/<rdf:RDF.*?>.*?'. … … 388 572 preg_match_all($pattern_rdf,$page_content,$rdf_all,PREG_SET_ORDER); 389 573 574 $url_path = parse_url($url, PHP_URL_PATH); 575 $sanitized_url = str_replace($url_path, html::sanitizeURL($url_path), $url); 576 390 577 for ($i=0; $i<count($rdf_all); $i++) 391 578 { 392 579 $rdf = $rdf_all[$i][1]; 393 394 if (preg_match('/dc:identifier="'.preg_quote($url,'/').'"/msi',$rdf)) {580 if (preg_match('/dc:identifier="'.preg_quote($url,'/').'"/msi',$rdf) || 581 preg_match('/dc:identifier="'.preg_quote($sanitized_url,'/').'"/msi',$rdf)) { 395 582 if (preg_match('/trackback:ping="(.*?)"/msi',$rdf,$tb_link)) { 396 583 return $tb_link[1]; -
inc/core/class.dc.xmlrpc.php
r1179 r1674 214 214 array('array','integer','string','string'), 215 215 'Retrieve all of the comment statuses.'); 216 217 # Pingback support 218 $this->addCallback('pingback.ping',array($this,'pingback_ping'), 219 array('string', 'string', 'string'), 220 'Notify a link to a post.'); 216 221 } 217 222 … … 270 275 } 271 276 272 private function setBlog( )277 private function setBlog($bypass = false) 273 278 { 274 279 if (!$this->blog_id) { … … 288 293 } 289 294 290 if (!$this->core->blog->settings->system->enable_xmlrpc || 291 !$this->core->auth->check('usage,contentadmin',$this->core->blog->id)) { 295 if (!$bypass && 296 (!$this->core->blog->settings->system->enable_xmlrpc || 297 !$this->core->auth->check('usage,contentadmin',$this->core->blog->id))) { 292 298 $this->core->blog = null; 293 299 throw new Exception('Not enough permissions on this blog.'); … … 1629 1635 ); 1630 1636 } 1637 1638 /* Pingback support 1639 --------------------------------------------------- */ 1640 public function pingback_ping($from_url, $to_url) 1641 { 1642 # Come on, buddy! Don't make me waste time with this kind of silliness... 1643 if (!(filter_var($from_url, FILTER_VALIDATE_URL) && preg_match('!^https?://!',$from_url))) { 1644 throw new Exception(__('No valid source URL provided? Try again!'), 0); 1645 } 1646 1647 $this->setBlog(true); 1648 $tb = new dcTrackback($this->core); 1649 return $tb->receive_pb($from_url, $to_url); 1650 } 1631 1651 } 1632 1652 ?> -
inc/public/class.dc.template.php
r1611 r1674 70 70 $this->addValue('BlogID',array($this,'BlogID')); 71 71 $this->addValue('BlogURL',array($this,'BlogURL')); 72 $this->addValue('BlogXMLRPCURL',array($this,'BlogXMLRPCURL')); 72 73 $this->addValue('BlogPublicURL',array($this,'BlogPublicURL')); 73 74 $this->addValue('BlogQmarkURL',array($this,'BlogQmarkURL')); … … 906 907 907 908 /*dtd 909 <!ELEMENT tpl:BlogXMLRPCURL - O -- Blog XML-RPC URL --> 910 */ 911 public function BlogXMLRPCURL($attr) 912 { 913 $f = $this->getFilters($attr); 914 return '<?php echo '.sprintf($f,'$core->blog->url.$core->url->getURLFor(\'xmlrpc\',$core->blog->id)').'; ?>'; 915 } 916 917 /*dtd 908 918 <!ELEMENT tpl:BlogURL - O -- Blog URL --> 909 919 */ -
inc/public/default-templates/post.html
r932 r1674 25 25 <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" /> 26 26 <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" /> 27 <tpl:EntryIf pings_active="1"><link rel="pingback" href="{{tpl:BlogXMLRPCURL}}" /></tpl:EntryIf> 27 28 28 29 <tpl:EntryNext><link rel="next" href="{{tpl:EntryURL}}" -
inc/public/lib.urlhandlers.php
r1610 r1674 480 480 481 481 # The entry 482 if ($_ctx->posts->trackbacksActive()) { 483 header('X-Pingback: '.$core->blog->url.$core->url->getURLFor("xmlrpc",$core->blog->id)); 484 } 482 485 self::serveDocument('post.html'); 483 486 } -
locales/bn/plugins.po
r1636 r1668 1060 1060 msgstr "" 1061 1061 1062 msgid "Page status :"1063 msgstr "" 1064 1065 msgid "Page position :"1066 msgstr "" 1067 1068 msgid "Page lang :"1069 msgstr "" 1070 1071 msgid "Page password :"1062 msgid "Page status" 1063 msgstr "" 1064 1065 msgid "Page position" 1066 msgstr "" 1067 1068 msgid "Page lang" 1069 msgstr "" 1070 1071 msgid "Page password" 1072 1072 msgstr "" 1073 1073 -
locales/ca/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/cs/plugins.po
r1636 r1668 1065 1065 msgstr "" 1066 1066 1067 msgid "Page status :"1067 msgid "Page status" 1068 1068 msgstr "Stav stránky:" 1069 1069 1070 msgid "Page position :"1070 msgid "Page position" 1071 1071 msgstr "Pozice stránky:" 1072 1072 1073 msgid "Page lang :"1073 msgid "Page lang" 1074 1074 msgstr "Jazyk stránky:" 1075 1075 1076 msgid "Page password :"1076 msgid "Page password" 1077 1077 msgstr "Heslo stránky:" 1078 1078 -
locales/da/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/de/plugins.po
r1636 r1668 1066 1066 msgstr "" 1067 1067 1068 msgid "Page status :"1068 msgid "Page status" 1069 1069 msgstr "Status der Seite:" 1070 1070 1071 msgid "Page position :"1071 msgid "Page position" 1072 1072 msgstr "Position der Seite:" 1073 1073 1074 msgid "Page lang :"1074 msgid "Page lang" 1075 1075 msgstr "Sprache der Seite:" 1076 1076 1077 msgid "Page password :"1077 msgid "Page password" 1078 1078 msgstr "Passwort der Seite:" 1079 1079 -
locales/en/main.po
r1637 r1670 547 547 548 548 msgid "Entries (all types)" 549 msgstr "Entries & pages"549 msgstr "Entries" 550 550 551 551 msgid "Status" -
locales/en/plugins.po
r1636 r1668 1076 1076 msgstr "" 1077 1077 1078 msgid "Page status :"1079 msgstr "" 1080 1081 msgid "Page position :"1082 msgstr "" 1083 1084 msgid "Page lang :"1085 msgstr "" 1086 1087 msgid "Page password :"1078 msgid "Page status" 1079 msgstr "" 1080 1081 msgid "Page position" 1082 msgstr "" 1083 1084 msgid "Page lang" 1085 msgstr "" 1086 1087 msgid "Page password" 1088 1088 msgstr "" 1089 1089 -
locales/eo/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/es-ar/plugins.po
r1636 r1668 1068 1068 msgstr "" 1069 1069 1070 msgid "Page status :"1070 msgid "Page status" 1071 1071 msgstr "Estado de la pagina:" 1072 1072 1073 msgid "Page position :"1073 msgid "Page position" 1074 1074 msgstr "Posición de la pagina:" 1075 1075 1076 msgid "Page lang :"1076 msgid "Page lang" 1077 1077 msgstr "Idioma de la pagina:" 1078 1078 1079 msgid "Page password :"1079 msgid "Page password" 1080 1080 msgstr "Contraseña de la pagina:" 1081 1081 -
locales/es/plugins.po
r1636 r1668 1074 1074 msgstr "" 1075 1075 1076 msgid "Page status :"1076 msgid "Page status" 1077 1077 msgstr "Estado de la página:" 1078 1078 1079 msgid "Page position :"1079 msgid "Page position" 1080 1080 msgstr "Posición de la página:" 1081 1081 1082 msgid "Page lang :"1082 msgid "Page lang" 1083 1083 msgstr "Idioma de la página:" 1084 1084 1085 msgid "Page password :"1085 msgid "Page password" 1086 1086 msgstr "Contraseña de la página:" 1087 1087 -
locales/eu/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/fr/main.po
r1637 r1678 171 171 #, php-format 172 172 msgid "You are about to delete the blog %s. Every entry, comment and category will be deleted." 173 msgstr "Vous êtes sur le point de supprimer le blog %s. Tous ses billets, commentaires et catégories seront supprimés."173 msgstr "Vous êtes sur le point de supprimer le blog %s. Tous ses billets, pages, commentaires et catégories seront supprimés." 174 174 175 175 msgid "Please give your password to confirm the blog deletion." … … 338 338 339 339 msgid "Display smilies on entries and comments" 340 msgstr "Afficher des émoticônes dans les billets et commentaires"340 msgstr "Afficher des émoticônes dans les billets, pages et commentaires" 341 341 342 342 #, php-format … … 578 578 579 579 msgid "Entries (all types)" 580 msgstr " Billets & pages"580 msgstr "Entrées" 581 581 582 582 msgid "Status" … … 781 781 782 782 msgid "Entry title" 783 msgstr "Titre d u billet"783 msgstr "Titre de l'entrée" 784 784 785 785 msgid "Author" … … 1396 1396 1397 1397 msgid "Show entries containing this media" 1398 msgstr "Afficher les billets contenant ce média"1398 msgstr "Afficher les entrées contenant ce média" 1399 1399 1400 1400 msgid "Entries containing this media" 1401 msgstr " Billets contenant ce média"1401 msgstr "Entrées contenant ce média" 1402 1402 1403 1403 msgid "No entry seems contain this media." 1404 msgstr "Aucun billetne semble contenir ce média."1404 msgstr "Aucune entrée ne semble contenir ce média." 1405 1405 1406 1406 msgid "Image details" … … 2127 2127 2128 2128 msgid "Number of entries" 2129 msgstr "Nombre d e billets"2129 msgstr "Nombre d'entrées" 2130 2130 2131 2131 msgid "Set permissions" … … 2252 2252 2253 2253 msgid "Users with posts cannot be deleted." 2254 msgstr "Les utilisateurs ayant écrit des billets ne peuvent être supprimés."2254 msgstr "Les utilisateurs ayant écrit des entrées ne peuvent être supprimés." 2255 2255 2256 2256 #, php-format … … 3273 3273 msgid "Save my options" 3274 3274 msgstr "Enregistrer mes options" 3275 3276 msgid "Blog id" 3277 msgstr "Identifiant" 3278 3279 msgid "Edit blog settings for %s" 3280 msgstr "Modifier les paramètres de %s" 3281 3282 msgid "Edit blog settings" 3283 msgstr "Modifier les paramètres du blog" 3284 3285 msgid "Edit the %1$s from %2$s" 3286 msgstr "Modifier le %1$s de %2$s" 3287 3288 msgid "Backup" 3289 msgstr "Sauvegarde" -
locales/fr/plugins.po
r1636 r1669 1255 1255 msgstr "Voir cette page sur le site" 1256 1256 1257 msgid "Page status :"1258 msgstr "État de la page :"1259 1260 msgid "Page position :"1261 msgstr "Position de la page :"1262 1263 msgid "Page lang :"1264 msgstr "Langue de la page :"1265 1266 msgid "Page password :"1267 msgstr "Mot de passe de la page :"1257 msgid "Page status" 1258 msgstr "État de la page" 1259 1260 msgid "Page position" 1261 msgstr "Position de la page" 1262 1263 msgid "Page lang" 1264 msgstr "Langue de la page" 1265 1266 msgid "Page password" 1267 msgstr "Mot de passe de la page" 1268 1268 1269 1269 msgid "" … … 1984 1984 msgid "Hide in widget Pages" 1985 1985 msgstr "Ne pas lister dans le widget Pages" 1986 1987 msgid "Drag widgets here to remove them from this sidebar." 1988 msgstr "Glisser les widgets ici pour les retirer du volet." -
locales/hu/plugins.po
r1636 r1668 1077 1077 msgstr "" 1078 1078 1079 msgid "Page status :"1079 msgid "Page status" 1080 1080 msgstr "Oldal állapota:" 1081 1081 1082 msgid "Page position :"1082 msgid "Page position" 1083 1083 msgstr "Oldal pozíciója:" 1084 1084 1085 msgid "Page lang :"1085 msgid "Page lang" 1086 1086 msgstr "Oldal nyelve:" 1087 1087 1088 msgid "Page password :"1088 msgid "Page password" 1089 1089 msgstr "Oldal jelszava:" 1090 1090 -
locales/it/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/ja/plugins.po
r1636 r1668 1072 1072 msgstr "" 1073 1073 1074 msgid "Page status :"1074 msgid "Page status" 1075 1075 msgstr "ページの状態:" 1076 1076 1077 msgid "Page position :"1077 msgid "Page position" 1078 1078 msgstr "ページの位置:" 1079 1079 1080 msgid "Page lang :"1080 msgid "Page lang" 1081 1081 msgstr "ページの言語:" 1082 1082 1083 msgid "Page password :"1083 msgid "Page password" 1084 1084 msgstr "ページのパスワード:" 1085 1085 -
locales/ko/plugins.po
r1636 r1668 1079 1079 msgstr "" 1080 1080 1081 msgid "Page status :"1081 msgid "Page status" 1082 1082 msgstr "페이지 공개상태 :" 1083 1083 1084 msgid "Page position :"1084 msgid "Page position" 1085 1085 msgstr "페이지 위치 :" 1086 1086 1087 msgid "Page lang :"1087 msgid "Page lang" 1088 1088 msgstr "페이지 언어 :" 1089 1089 1090 msgid "Page password :"1090 msgid "Page password" 1091 1091 msgstr "페이지 비밀번호 :" 1092 1092 -
locales/lt/plugins.po
r1499 r1668 1024 1024 msgstr "Peržiūrėti puslapį" 1025 1025 1026 msgid "Page status :"1026 msgid "Page status" 1027 1027 msgstr "Puslapio statusas:" 1028 1028 1029 msgid "Page position :"1029 msgid "Page position" 1030 1030 msgstr "Puslapio pozicija:" 1031 1031 1032 msgid "Page lang :"1032 msgid "Page lang" 1033 1033 msgstr "Puslapio kalba:" 1034 1034 1035 msgid "Page password :"1035 msgid "Page password" 1036 1036 msgstr "Puslapio slaptažodis:" 1037 1037 -
locales/nl/plugins.po
r1636 r1668 1057 1057 msgstr "" 1058 1058 1059 msgid "Page status :"1060 msgstr "" 1061 1062 msgid "Page position :"1063 msgstr "" 1064 1065 msgid "Page lang :"1066 msgstr "" 1067 1068 msgid "Page password :"1059 msgid "Page status" 1060 msgstr "" 1061 1062 msgid "Page position" 1063 msgstr "" 1064 1065 msgid "Page lang" 1066 msgstr "" 1067 1068 msgid "Page password" 1069 1069 msgstr "" 1070 1070 -
locales/oc/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/pl/plugins.po
r1636 r1668 1061 1061 msgstr "" 1062 1062 1063 msgid "Page status :"1063 msgid "Page status" 1064 1064 msgstr "Stan strony:" 1065 1065 1066 msgid "Page position :"1066 msgid "Page position" 1067 1067 msgstr "Pozycja strony:" 1068 1068 1069 msgid "Page lang :"1069 msgid "Page lang" 1070 1070 msgstr "Język strony:" 1071 1071 1072 msgid "Page password :"1072 msgid "Page password" 1073 1073 msgstr "Hasło strony" 1074 1074 -
locales/pt-br/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/pt/plugins.po
r1636 r1668 1073 1073 msgstr "" 1074 1074 1075 msgid "Page status :"1075 msgid "Page status" 1076 1076 msgstr "Estatutos da página:" 1077 1077 1078 msgid "Page position :"1078 msgid "Page position" 1079 1079 msgstr "Posição da página:" 1080 1080 1081 msgid "Page lang :"1081 msgid "Page lang" 1082 1082 msgstr "Língua da página:" 1083 1083 1084 msgid "Page password :"1084 msgid "Page password" 1085 1085 msgstr "Senha da página:" 1086 1086 -
locales/ro/plugins.po
r1636 r1668 1068 1068 msgstr "" 1069 1069 1070 msgid "Page status :"1071 msgstr "" 1072 1073 msgid "Page position :"1074 msgstr "" 1075 1076 msgid "Page lang :"1077 msgstr "" 1078 1079 msgid "Page password :"1070 msgid "Page status" 1071 msgstr "" 1072 1073 msgid "Page position" 1074 msgstr "" 1075 1076 msgid "Page lang" 1077 msgstr "" 1078 1079 msgid "Page password" 1080 1080 msgstr "" 1081 1081 -
locales/ru/plugins.po
r1636 r1668 1064 1064 msgstr "" 1065 1065 1066 msgid "Page status :"1066 msgid "Page status" 1067 1067 msgstr "Статус страницы:" 1068 1068 1069 msgid "Page position :"1069 msgid "Page position" 1070 1070 msgstr "Позиция страницы:" 1071 1071 1072 msgid "Page lang :"1072 msgid "Page lang" 1073 1073 msgstr "Язык страницы:" 1074 1074 1075 msgid "Page password :"1075 msgid "Page password" 1076 1076 msgstr "Пароль страницы:" 1077 1077 -
locales/sr/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/sv/plugins.po
r1636 r1668 1056 1056 msgstr "" 1057 1057 1058 msgid "Page status :"1059 msgstr "" 1060 1061 msgid "Page position :"1062 msgstr "" 1063 1064 msgid "Page lang :"1065 msgstr "" 1066 1067 msgid "Page password :"1058 msgid "Page status" 1059 msgstr "" 1060 1061 msgid "Page position" 1062 msgstr "" 1063 1064 msgid "Page lang" 1065 msgstr "" 1066 1067 msgid "Page password" 1068 1068 msgstr "" 1069 1069 -
locales/te/plugins.po
r1636 r1668 1061 1061 msgstr "" 1062 1062 1063 msgid "Page status :"1063 msgid "Page status" 1064 1064 msgstr "పేజీ స్థితి:" 1065 1065 1066 msgid "Page position :"1066 msgid "Page position" 1067 1067 msgstr "పేజీ స్థానం:" 1068 1068 1069 msgid "Page lang :"1069 msgid "Page lang" 1070 1070 msgstr "పేజీ భాష:" 1071 1071 1072 msgid "Page password :"1072 msgid "Page password" 1073 1073 msgstr "పేజీ సంకేతపదం:" 1074 1074 -
locales/tr/plugins.po
r1636 r1668 1061 1061 msgstr "" 1062 1062 1063 msgid "Page status :"1064 msgstr "" 1065 1066 msgid "Page position :"1067 msgstr "" 1068 1069 msgid "Page lang :"1070 msgstr "" 1071 1072 msgid "Page password :"1063 msgid "Page status" 1064 msgstr "" 1065 1066 msgid "Page position" 1067 msgstr "" 1068 1069 msgid "Page lang" 1070 msgstr "" 1071 1072 msgid "Page password" 1073 1073 msgstr "" 1074 1074 -
locales/zh-cn/plugins.po
r1636 r1668 1071 1071 msgstr "" 1072 1072 1073 msgid "Page status :"1073 msgid "Page status" 1074 1074 msgstr "页面状态:" 1075 1075 1076 msgid "Page position :"1076 msgid "Page position" 1077 1077 msgstr "页面位置:" 1078 1078 1079 msgid "Page lang :"1079 msgid "Page lang" 1080 1080 msgstr "页面语言:" 1081 1081 1082 msgid "Page password :"1082 msgid "Page password" 1083 1083 msgstr "页面密码:" 1084 1084 -
plugins/pages/_public.php
r1179 r1674 181 181 182 182 # The entry 183 if ($_ctx->posts->trackbacksActive()) { 184 header('X-Pingback: '.$core->blog->url.$core->url->getURLFor("xmlrpc",$core->blog->id)); 185 } 183 186 $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 184 187 self::serveDocument('page.html'); -
plugins/pages/default-templates/page.html
r725 r1674 25 25 <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" /> 26 26 <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" /> 27 <tpl:EntryIf pings_active="1"><link rel="pingback" href="{{tpl:BlogXMLRPCURL}}" /></tpl:EntryIf> 27 28 28 29 <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" /> -
plugins/pages/page.php
r1625 r1668 403 403 'items' => array( 404 404 'post_status' => 405 '<p><label for="post_status" class="ib">'.__('Page status :').'</label> '.405 '<p><label for="post_status" class="ib">'.__('Page status').'</label> '. 406 406 form::combo('post_status',$status_combo,$post_status,'','',!$can_publish). 407 407 '</p>', … … 411 411 '</p>', 412 412 'post_lang' => 413 '<p><label for="post_lang" class="ib">'.__('Page lang :').'</label>'.413 '<p><label for="post_lang" class="ib">'.__('Page lang').'</label>'. 414 414 form::combo('post_lang',$lang_combo,$post_lang). 415 415 '</p>', … … 426 426 'items' => array( 427 427 'post_position' => 428 '<p><label for="post_position" class="classic">'.__('Page position :').'</label> '.428 '<p><label for="post_position" class="classic">'.__('Page position').'</label> '. 429 429 form::field('post_position',3,3,(string) $post_position). 430 430 '</p>')), -
plugins/widgets/index.php
r1659 r1669 165 165 <?php echo file_get_contents(dirname(__FILE__).'/style.css'); ?> 166 166 </style> 167 <script type="text/javascript" src="js/jquery/jquery-ui.custom.js"></script> 168 <script type="text/javascript" src="index.php?pf=widgets/widgets.js"></script> 167 <?php 168 echo 169 dcPage::jsLoad('js/jquery/jquery-ui.custom.js'). 170 dcPage::jsLoad('index.php?pf=widgets/widgets.js'); 171 ?> 169 172 <?php 170 173 $core->auth->user_prefs->addWorkspace('accessibility'); … … 220 223 echo 221 224 '<div id="sidebarNav" class="widgets fieldset">'. 222 sidebarWidgets('dndnav',__('Navigation sidebar'),$widgets_nav,'nav',$__default_widgets['nav'],$j). 223 '</div>'. 224 '<ul class="sortable-delete"><li class="sortable-delete-placeholder">'.__('Drag here to delete').'</li></ul>'; 225 sidebarWidgets('dndnav',__('Navigation sidebar'),$widgets_nav,'nav',$__default_widgets['nav'],$j); 226 echo '</div>'; 225 227 226 228 # Extra sidebar 227 229 echo 228 230 '<div id="sidebarExtra" class="widgets fieldset">'. 229 sidebarWidgets('dndextra',__('Extra sidebar'),$widgets_extra,'extra',$__default_widgets['extra'],$j). 230 '</div>'. 231 '<ul class="sortable-delete"><li class="sortable-delete-placeholder">'.__('Drag here to delete').'</li></ul>'; 231 sidebarWidgets('dndextra',__('Extra sidebar'),$widgets_extra,'extra',$__default_widgets['extra'],$j); 232 echo '</div>'; 232 233 233 234 # Custom sidebar 234 235 echo 235 236 '<div id="sidebarCustom" class="widgets fieldset">'. 236 sidebarWidgets('dndcustom',__('Custom sidebar'),$widgets_custom,'custom',$__default_widgets['custom'],$j). 237 '</div>'. 238 '<ul class="sortable-delete"><li class="sortable-delete-placeholder">'.__('Drag here to delete').'</li></ul>'; 237 sidebarWidgets('dndcustom',__('Custom sidebar'),$widgets_custom,'custom',$__default_widgets['custom'],$j); 238 echo '</div>'; 239 239 240 240 echo … … 322 322 } 323 323 324 if ($widgets->isEmpty()) { 325 $res .= '<p class="empty-widgets">'.__('No widget.').'</p>'; 326 } else { 327 $res .= '<p class="empty-widgets" style="display: none;">'.__('No widget.').'</p>'; 328 } 324 $res .= '<p class="empty-widgets" '.(!$widgets->isEmpty() ? 'style="display: none;"' : '').'>'.__('No widget.').'</p>'; 329 325 330 326 $res .= '<ul id="'.$id.'" class="connected">'; … … 350 346 351 347 $res .= '</ul>'; 348 349 if ($i > 0) { 350 $res .= '<ul class="sortable-delete"><li class="sortable-delete-placeholder">'. 351 __('Drag widgets here to remove them from this sidebar.').'</li></ul>'; 352 } 352 353 353 354 return $res; -
plugins/widgets/style.css
r1661 r1669 24 24 } 25 25 .widgets.fieldset.if-drag { 26 margin-bottom: 0; 27 border-radius: 6px 6px 0 0; 28 border-bottom: 1px dashed #FF0000; 26 padding-bottom: 0; 27 border-radius: .5em; 29 28 } 30 29 #dndnav, #dndextra, #dndcustom { … … 34 33 #dndnav > li, 35 34 #dndextra > li, 36 #dndcustom > li, 37 .sortable-delete > li { 38 padding: O; 35 #dndcustom > li { 36 padding: 0; 39 37 border: 1px solid #999; 40 38 margin-bottom: 1em; … … 46 44 .sortable-delete > li.ui-sortable-placeholder { 47 45 border: 1px dashed #999; 48 height: 2 rem;49 padding: 3px;46 height: 2em; 47 padding: .3em; 50 48 } 51 49 .sortable-delete > li.ui-sortable-placeholder { 50 border-width: 2px; 51 border-color: red; 52 } 52 53 .sortable-delete { 53 54 display: none; 54 55 } 55 56 .sortable-delete.if-drag { 56 border: 1px solid #999999; 57 border-top: 0; 58 border-radius: 0 0 6px 6px; 59 color: #000000; 57 border: 1px dotted #999; 58 color: #000; 60 59 font-weight: bold; 61 list-style: none outside none; 62 margin: 0 0 2em; 63 min-height: 25px; 64 padding: 4px; 60 list-style-type: none; 61 margin: 0 0 1em; 62 padding: .5em 1em; 65 63 display: block; 64 background: #fafafa; 66 65 } 67 66 .sortable-delete > li { … … 70 69 .sortable-delete > li.sortable-delete-placeholder { 71 70 border: 0 none; 72 color: # FF0000;73 font-size: 1 rem;74 font-weight: normal;71 color: #aaa; 72 font-size: 1em; 73 font-weight: bold; 75 74 text-align: center; 76 75 } 77 78 76 .widget-name { 79 77 background: #eef; … … 91 89 .widget-name a.aexpand:visited { 92 90 border: 0 none; 93 color: #000 000;91 color: #000; 94 92 text-decoration: none; 95 93 }
Note: See TracChangeset
for help on using the changeset viewer.