Changeset 1818
- Timestamp:
- 07/21/10 16:35:10 (19 months ago)
- Location:
- plugins/apostrophePlugin/branches/features/css
- Files:
-
- 28 modified
- 5 copied
-
. (modified) (1 prop)
-
lib/action/BaseaFeedSlotComponents.class.php (modified) (1 diff)
-
lib/filter/aGroupAdminFilter.class.php (copied) (copied from plugins/apostrophePlugin/trunk/lib/filter/aGroupAdminFilter.class.php)
-
lib/filter/aUserAdminFilter.class.php (copied) (copied from plugins/apostrophePlugin/trunk/lib/filter/aUserAdminFilter.class.php)
-
lib/filter/base (copied) (copied from plugins/apostrophePlugin/trunk/lib/filter/base)
-
lib/filter/base/BaseaGroupAdminFilter.class.php (copied) (copied from plugins/apostrophePlugin/trunk/lib/filter/base/BaseaGroupAdminFilter.class.php)
-
lib/filter/base/BaseaUserAdminFilter.class.php (copied) (copied from plugins/apostrophePlugin/trunk/lib/filter/base/BaseaUserAdminFilter.class.php)
-
lib/model/doctrine/PluginaPage.class.php (modified) (4 diffs)
-
lib/model/doctrine/PluginaPageTable.class.php (modified) (1 diff)
-
lib/navigation/aNavigation.class.php (modified) (3 diffs)
-
lib/navigation/aNavigationAccordion.class.php (modified) (3 diffs)
-
lib/toolkit/aArray.class.php (modified) (1 diff)
-
lib/toolkit/aDate.class.php (modified) (1 diff)
-
lib/toolkit/aHtml.class.php (modified) (2 diffs)
-
lib/toolkit/aString.class.php (modified) (1 diff)
-
modules/a/templates/_search.php (modified) (1 diff)
-
modules/a/templates/_signinForm.php (modified) (2 diffs)
-
modules/aButtonSlot/templates/_normalView.php (modified) (1 diff)
-
modules/aFeedSlot/templates/_aFeedItem.php (modified) (1 diff)
-
modules/aGroupAdmin/config/generator.yml (modified) (1 diff)
-
modules/aImageSlot/templates/_normalView.php (modified) (1 diff)
-
modules/aNavigation/templates/_breadcrumb.php (modified) (1 diff)
-
modules/aPDFSlot/templates/_normalView.php (modified) (2 diffs)
-
modules/aUserAdmin/config/generator.yml (modified) (1 diff)
-
modules/aVideoSlot/templates/_normalView.php (modified) (1 diff)
-
web/css/a-buttons.css (modified) (2 diffs)
-
web/css/a-engines.css (modified) (1 diff)
-
web/css/a-forms.css (modified) (1 diff)
-
web/css/a-utility.css (modified) (1 diff)
-
web/css/a.css (modified) (1 prop)
-
web/images (modified) (1 prop)
-
web/js/aControls.js (modified) (1 diff)
-
web/js/fckeditor/fckconfig.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
plugins/apostrophePlugin/branches/features/css
- Property svn:mergeinfo changed
-
plugins/apostrophePlugin/branches/features/css/lib/action/BaseaFeedSlotComponents.class.php
r1681 r1818 35 35 $this->links = $this->getOption('links', true); 36 36 $this->markup = $this->getOption('markup', '<strong><em><p><br><ul><li>'); 37 $this->attributes = $this->getOption('attributes', false); 38 $this->styles = $this->getOption('styles',false); 37 39 $this->dateFormat = $this->getOption('dateFormat', false); 38 40 $this->itemTemplate = $this->getOption('itemTemplate','aFeedItem'); -
plugins/apostrophePlugin/branches/features/css/lib/model/doctrine/PluginaPage.class.php
r1681 r1818 400 400 401 401 // Careful, the cache must hold the entire path including the item itself, we lop off the last element 402 // before returning in those cases where it is not wanted. 403 public function getAncestorsInfo($includeSelf = false) 404 { 402 // before returning in those cases where it is not wanted. Note that $livingOnly does NOT change the 'level' 403 // field for each returned ancestor 404 public function getAncestorsInfo($includeSelf = false, $livingOnly = false) 405 { 406 // We cache the results of one simple query that gets the whole lineage, and permute that a little 407 // for the includeSelf and livingOnly cases 405 408 if (!isset($this->ancestorsInfo)) 406 409 { … … 415 418 $ancestorsInfo = $this->ancestorsInfo; 416 419 array_pop($ancestorsInfo); 420 } 421 if ($livingOnly) 422 { 423 $newAncestorsInfo = array(); 424 foreach ($ancestorsInfo as $ancestor) 425 { 426 if (!$ancestor['archived']) 427 { 428 $newAncestorsInfo[] = $ancestor; 429 } 430 } 431 $ancestorsInfo = $newAncestorsInfo; 417 432 } 418 433 return $ancestorsInfo; … … 572 587 // an accordion contro. in the first place 573 588 $ancestors = $this->getAncestorsInfo(); 574 575 589 // Dump ancestors we don't care about 576 590 $found = false; … … 592 606 foreach ($ancestors as $ancestor) 593 607 { 608 if ($livingOnly && ($ancestor['archived'])) 609 { 610 continue; 611 } 594 612 $lineage[] = $ancestor['id']; 595 613 if ($ancestor['level'] == 0) -
plugins/apostrophePlugin/branches/features/css/lib/model/doctrine/PluginaPageTable.class.php
r1681 r1818 530 530 // The explicit case 531 531 532 // Explicit privileges on virtual pages are not permitted. We don't let admins set them anyway, 533 // you should be implementing them yourself with the 'edit' flag to a_area or a_slot, and if we 534 // use the DQL below to look at a page where 'lft' is NULL Doctrine drops that entire clause 535 // and the query matches everything, granting everybody with any editing privileges 536 // the right to edit global slots 537 538 // Sigh, I had this backwards 539 540 if (!$pageOrInfo['lft']) 541 { 542 continue; 543 } 544 532 545 $user_id = $user->getGuardUser()->getId(); 533 546 -
plugins/apostrophePlugin/branches/features/css/lib/navigation/aNavigation.class.php
r1681 r1818 3 3 abstract class aNavigation 4 4 { 5 5 6 6 public static $tree = null; 7 7 public static $hash = null; 8 8 9 9 // Functional testing reuses the same PHP session, we must 10 10 // accurately simulate a new one. This method is called by … … 15 15 if (sfConfig::get('app_a_many_pages', false)) 16 16 { 17 17 18 18 } 19 19 } 20 20 21 21 protected abstract function buildNavigation(); 22 22 23 23 public function __construct(aPage $root, aPage $active, $options = array()) 24 24 { 25 25 $this->user = sfContext::getInstance()->getUser(); 26 26 $this->livingOnly = !(aTools::isPotentialEditor() && sfContext::getInstance()->getUser()->getAttribute('show-archived', true, 'apostrophe')); 27 27 28 28 $this->root = $root; 29 29 $this->active = $active; … … 51 51 } 52 52 } 53 54 if($node['archived'] == true)55 {56 if($this->livingOnly)57 unset($tree[$pos]);58 }59 53 } 60 54 } 61 55 62 56 } -
plugins/apostrophePlugin/branches/features/css/lib/navigation/aNavigationAccordion.class.php
r1681 r1818 3 3 class aNavigationAccordion extends aNavigation 4 4 { 5 protected $cssClass = 'a-nav-item'; 5 protected $cssClass = 'a-nav-item'; 6 6 7 7 public function buildNavigation() … … 10 10 if($this->active['slug'] != $this->root['slug']) 11 11 { 12 $this->rootInfo = $this->active->getAccordionInfo( false, null, $this->root['slug']);12 $this->rootInfo = $this->active->getAccordionInfo($this->livingOnly, null, $this->root['slug']); 13 13 }else 14 14 { 15 $this->rootInfo = $this->root->getTreeInfo( false, 1);15 $this->rootInfo = $this->root->getTreeInfo($this->livingOnly, 1); 16 16 } 17 17 // This rootInfo is already an array of kids … … 23 23 $this->traverse($this->nav); 24 24 } 25 25 26 26 public function getNav() 27 27 { 28 28 return $this->nav; 29 29 } 30 30 31 31 } -
plugins/apostrophePlugin/branches/features/css/lib/toolkit/aArray.class.php
r1681 r1818 387 387 return ($s1 < $s2) ? -1 : 1; 388 388 } 389 389 390 // Is this a numerically indexed array without gaps? 391 public static function isFlat($array) 392 { 393 $n = 0; 394 foreach ($array as $key => $val) 395 { 396 if ($key !== $n) 397 { 398 return false; 399 } 400 $n++; 401 } 402 return true; 403 } 390 404 } 391 405 -
plugins/apostrophePlugin/branches/features/css/lib/toolkit/aDate.class.php
r1681 r1818 196 196 return floor(($date1 - $date2) / 86400 + 0.5); 197 197 } 198 199 static public function mysql($when = null) 200 { 201 if (is_null($when)) 202 { 203 $when = time(); 204 } 205 $when = self::normalize($when); 206 return date('Y-m-d H:i:s', $when); 207 } 198 208 } -
plugins/apostrophePlugin/branches/features/css/lib/toolkit/aHtml.class.php
r1681 r1818 428 428 ); 429 429 430 public static function limitWords($string, $word_limit )430 public static function limitWords($string, $word_limit, $options = array()) 431 431 { 432 # TBB: tag-aware, doesn't split in the middle of tags433 # (we will probably use fancier tags with attributes later,434 # so this is important). Tags must be valid XHTML unless435 # all allowed tags432 # TBB: tag-aware, doesn't split in the middle of tags 433 # (we will probably use fancier tags with attributes later, 434 # so this is important). Tags must be valid XHTML unless 435 # all allowed tags 436 436 $words = preg_split("/(\<.*?\>|\s+)/", $string, -1, 437 PREG_SPLIT_DELIM_CAPTURE); 438 $wordCount = 0; 439 # Balance tags that need balancing. We don't have strict XHTML 440 # coming from OpenOffice (oh, if only) so we'll have to keep a 441 # list of the tags that are containers. 442 $open = array(); 443 $result = ""; 444 $count = 0; 445 foreach ($words as $word) { 446 if ($count >= $word_limit) { 447 break; 448 } elseif (preg_match("/\<.*?\/\>/", $word)) { 449 # XHTML non-container tag, we don't have to guess 450 $result .= $word; 451 continue; 452 } elseif (preg_match("/\<(\w+)/s", $word, $matches)) { 453 $tag = $matches[1]; 454 $result .= $word; 455 if (isset(aHtml::$nonContainerTags[$tag])) { 456 continue; 457 } 458 $open[] = $tag; 459 } elseif (preg_match("/\<\/(\w+)/s", $word, $matches)) { 460 $tag = $matches[1]; 461 if (!count($open)) { 462 # Groan, extra close tag, ignore 463 continue; 464 } 465 $last = array_pop($open); 466 if ($last !== $tag) { 467 # They closed the wrong tag. Again, ignore for now, but 468 # we might want to work on a better solution 469 continue; 470 } 471 $result .= $word; 472 } elseif (preg_match("/^\s+$/s", $word)) { 473 $result .= $word; 474 } else { 475 if (strlen($word)) { 476 $count++; 477 $result .= $word; 478 } 479 } 480 } 481 for ($i = count($open) - 1; ($i >= 0); $i--) { 482 $result .= "</" . $open[$i] . ">"; 483 } 484 return $result; 485 } 437 PREG_SPLIT_DELIM_CAPTURE); 438 $wordCount = 0; 439 # Balance tags that need balancing. We don't have strict XHTML 440 # coming from OpenOffice (oh, if only) so we'll have to keep a 441 # list of the tags that are containers. 442 $open = array(); 443 $result = ""; 444 $count = 0; 445 $num_words = count($words); 446 foreach ($words as $word) { 447 if ($count >= $word_limit) { 448 break; 449 } elseif (preg_match("/\<.*?\/\>/", $word)) { 450 # XHTML non-container tag, we don't have to guess 451 $result .= $word; 452 continue; 453 } elseif (preg_match("/\<(\w+)/s", $word, $matches)) { 454 $tag = $matches[1]; 455 $result .= $word; 456 if (isset(aHtml::$nonContainerTags[$tag])) { 457 continue; 458 } 459 $open[] = $tag; 460 } elseif (preg_match("/\<\/(\w+)/s", $word, $matches)) { 461 $tag = $matches[1]; 462 if (!count($open)) { 463 # Groan, extra close tag, ignore 464 continue; 465 } 466 $last = array_pop($open); 467 if ($last !== $tag) { 468 # They closed the wrong tag. Again, ignore for now, but 469 # we might want to work on a better solution 470 continue; 471 } 472 $result .= $word; 473 } elseif (preg_match("/^\s+$/s", $word)) { 474 $result .= $word; 475 } else { 476 if (strlen($word)) { 477 $count++; 478 $result .= $word; 479 } 480 } 481 } 482 483 $append_ellipsis = false; 484 if (isset($options['append_ellipsis'])) 485 { 486 $append_ellipsis = $options['append_ellipsis']; 487 } 488 if ($append_ellipsis == true && $num_words > $word_limit) 489 { 490 $result .= '…'; 491 } 492 493 for ($i = count($open) - 1; ($i >= 0); $i--) { 494 $result .= "</" . $open[$i] . ">"; 495 } 496 return $result; 497 } 486 498 487 499 public static function toText($html) … … 514 526 # a span or div, which will not lose its class, id, etc. TBB 515 527 516 return preg_replace ("/\<a[^\>]*?href=\"mailto\:(.*?)\@(.*?)\".*?\>(.*?)\<\/a\>/ise",517 "aHtml::obfuscateMailtoInstance(\"$1\", \"$2\", \"$3\")",528 return preg_replace_callback("/\<a[^\>]*?href=\"mailto\:(.*?)\@(.*?)\".*?\>(.*?)\<\/a\>/is", 529 array('aHtml', 'obfuscateMailtoInstance'), 518 530 $html); 519 531 } 520 532 521 public static function obfuscateMailtoInstance($user, $domain, $label) 522 { 523 // We get some weird escaping problems without the trims 524 $user = trim($user); 525 $domain = trim($domain); 526 $guid = aGuid::generate(); 527 $href = self::jsEscape("mailto:$user@$domain"); 528 $label = self::jsEscape(trim($label)); 529 // ACHTUNG: this is carefully crafted to avoid introducing extra whitespace 530 return "<a href='#' id='$guid'></a><script type='text/javascript' charset='utf-8'> 531 var e = document.getElementById('$guid'); 532 e.setAttribute('href', '$href'); 533 e.innerHTML = '$label'; 534 </script>"; 533 public static function obfuscateMailtoInstance($args) 534 { 535 list($user, $domain, $label) = array_slice($args, 1); 536 // We get some weird escaping problems without the trims 537 $user = trim($user); 538 $domain = trim($domain); 539 $guid = aGuid::generate(); 540 $href = self::jsEscape("mailto:$user@$domain"); 541 $label = self::jsEscape(trim($label)); 542 // ACHTUNG: this is carefully crafted to avoid introducing extra whitespace 543 return "<a href='#' id='$guid'></a><script type='text/javascript' charset='utf-8'> 544 var e = document.getElementById('$guid'); 545 e.setAttribute('href', '$href'); 546 e.innerHTML = '$label'; 547 </script>"; 535 548 } 536 549 -
plugins/apostrophePlugin/branches/features/css/lib/toolkit/aString.class.php
r1681 r1818 43 43 if ($append_ellipsis == true && $num_words > $word_limit) 44 44 { 45 $string .= '&hellip ';45 $string .= '…'; 46 46 } 47 47 -
plugins/apostrophePlugin/branches/features/css/modules/a/templates/_search.php
r1681 r1818 2 2 <div id="a-search"> 3 3 <form id="a-search-global" action="<?php echo url_for('a/search') ?>" method="get" class="a-search-form"> 4 <div>< input type="text" name="q" value="<?php echo htmlspecialchars($sf_params->get('q')) ?>" class="a-search-field" id="a-search-cms-field"/></div>5 <div><input type="image" src="/apostrophePlugin/images/a-special-blank.gif" class="submit" value="Search Pages" /></div>4 <div><label for="a-search-cms-field" style="display:none;">Search</label><input type="text" name="q" value="<?php echo htmlspecialchars($sf_params->get('q')) ?>" class="a-search-field" id="a-search-cms-field"/></div> 5 <div><input type="image" src="/apostrophePlugin/images/a-special-blank.gif" class="submit" value="Search Pages" alt="Search" title="Search"/></div> 6 6 </form> 7 7 </div> -
plugins/apostrophePlugin/branches/features/css/modules/a/templates/_signinForm.php
r1681 r1818 3 3 <div id="a-signin"> 4 4 <form action="<?php echo url_for('@sf_guard_signin') ?>" method="post" id="a-signin-form" <?php echo ($form->hasErrors())? 'class="has-errors"':''; ?>> 5 <?php echo $form->renderHiddenFields() ?> 5 6 <div class="a-form-row a-hidden"> 7 <?php echo $form->renderHiddenFields() ?> 8 </div> 6 9 7 10 <div class="a-form-row"> … … 17 20 </div> 18 21 22 <?php if (0): ?> 23 <?php // When this thing starts working, it can get displayed. ?> 19 24 <div class="a-form-row"> 20 <?php echo $form['remember']->renderRow() ?> 25 <?php echo $form['remember']->renderLabel() ?> 26 <?php echo $form['remember']->render() ?> 27 <?php echo $form['remember']->renderError() ?> 21 28 </div> 29 <?php endif ?> 22 30 23 31 <ul class="a-form-row submit"> -
plugins/apostrophePlugin/branches/features/css/modules/aButtonSlot/templates/_normalView.php
r1681 r1818 48 48 <?php echo $embed ?> 49 49 </li> 50 <?php if (isset($img_title) ): ?>50 <?php if (isset($img_title) && $img_title != ''): ?> 51 51 <li class="a-button-title"><a class="a-button-link" href="<?php echo $link ?>"><?php echo $img_title ?></a></li> 52 52 <?php endif ?> 53 <?php if ( $description): ?>53 <?php if (isset($description)): ?> 54 54 <li class="a-button-description"><?php echo $item->description ?></li> 55 55 <?php endif ?> -
plugins/apostrophePlugin/branches/features/css/modules/aFeedSlot/templates/_aFeedItem.php
r1681 r1818 1 1 <li class="a-feed-item"> 2 2 <ul> 3 <li class="title"><?php echo link_to_if($feedItem->getLink() && $links, $feedItem->getTitle(), $feedItem->getLink()) ?></li> 3 <li class="title"> 4 <?php if (isset($links) && $feedItem->getLink()): ?> 5 <a href="<?php echo $feedItem->getLink() ?>"><?php echo $feedItem->getTitle() ?></a> 6 <?php else: ?> 7 <?php echo $feedItem->getTitle() ?> 8 <?php endif ?> 9 </li> 4 10 <?php $date = $feedItem->getPubDate() ?> 5 11 <li class="date"><?php echo $dateFormat ? date($dateFormat, $date) : aDate::pretty($date) . ' ' . aDate::time($date) ?></li> 6 <li class="description"><?php echo aHtml::simplify($feedItem->getDescription(), $markup ) ?></li>12 <li class="description"><?php echo aHtml::simplify($feedItem->getDescription(), $markup, false, (isset($attributes)? $attributes:false), (isset($styles)? $styles:false)) ?></li> 7 13 </ul> 8 14 </li> -
plugins/apostrophePlugin/branches/features/css/modules/aGroupAdmin/config/generator.yml
r1681 r1818 19 19 class: aGroupAdminForm 20 20 display: [name, description, users_list, permissions_list] 21 filter: 22 class: aGroupAdminFilter 21 23 edit: 22 24 title: Editing Group "%%name%%" -
plugins/apostrophePlugin/branches/features/css/modules/aImageSlot/templates/_normalView.php
r1681 r1818 57 57 </li> 58 58 <?php if ($title): ?> 59 <li class="a- image-title"><?php echo $item->title ?></li>59 <li class="a-media-meta a-image-title"><?php echo $item->title ?></li> 60 60 <?php endif ?> 61 61 <?php if ($description): ?> 62 <li class="a- image-description"><?php echo $item->description ?></li>62 <li class="a-media-meta a-image-description"><?php echo $item->description ?></li> 63 63 <?php endif ?> 64 64 </ul> -
plugins/apostrophePlugin/branches/features/css/modules/aNavigation/templates/_breadcrumb.php
r1681 r1818 1 1 <ul id="a-breadcrumb-<?php echo ($name)? $name:'component' ?>" class="a-nav a-nav-breadcrumb breadcrumb"> 2 2 <?php foreach($nav as $pos => $item): ?> 3 <li class="<?php echo $class; 4 if($item['slug'] == $active) echo ' a-current-page'; ?>"><?php echo link_to($item['title'], aTools::urlForPage($item['slug'])) ?><?php if($pos+1 < count($nav)) echo '<span class="a-breadcrumb-separator">'.$separator.'</span>' ?></li> 3 <?php if (!$item['archived'] || $draggable): ?> 4 <li class="<?php echo $class; 5 if($item['slug'] == $active) echo ' a-current-page'; ?>"><?php echo link_to($item['title'], aTools::urlForPage($item['slug'])) ?><?php if($pos+1 < count($nav)) echo '<span class="a-breadcrumb-separator">'.$separator.'</span>' ?> 6 </li> 7 <?php endif ?> 5 8 <?php endforeach ?> 6 9 </ul> -
plugins/apostrophePlugin/branches/features/css/modules/aPDFSlot/templates/_normalView.php
r1681 r1818 60 60 </li> 61 61 <?php endif ?> 62 < pclass="a-pdf-download">62 <li class="a-pdf-download"> 63 63 <?php echo link_to(__("Download PDF", null, 'apostrophe'), "aMediaBackend/original?" . 64 64 http_build_query( … … 67 67 "format" => $item->getFormat() 68 68 ))) ?> 69 </p>69 </li> 70 70 </ul> 71 71 </div> -
plugins/apostrophePlugin/branches/features/css/modules/aUserAdmin/config/generator.yml
r1681 r1818 21 21 title: User list 22 22 display: [=username, created_at, updated_at, last_login] 23 filter: 24 class: aUserAdminFilter 23 25 form: 24 26 class: aUserAdminForm -
plugins/apostrophePlugin/branches/features/css/modules/aVideoSlot/templates/_normalView.php
r1681 r1818 43 43 </li> 44 44 <?php if ($title): ?> 45 <li class="a-media- video-title"><?php echo $item->title ?></li>45 <li class="a-media-meta a-media-video-title"><?php echo $item->title ?></li> 46 46 <?php endif ?> 47 47 <?php if ($description): ?> 48 <li class="a-media- video-description"><?php echo $item->description ?></li>48 <li class="a-media-meta a-media-video-description"><?php echo $item->description ?></li> 49 49 <?php endif ?> 50 50 </ul> -
plugins/apostrophePlugin/branches/features/css/web/css/a-buttons.css
r1684 r1818 262 262 .icon.a-calendar { background-image: url(/apostrophePlugin/images/a-icon-event.png); } 263 263 264 .icon.a-close { 264 .icon.a-close, 265 .icon.a-close-small 266 { 265 267 background: transparent url(/apostrophePlugin/images/a-icon-close.png) no-repeat scroll 0 0; 266 268 float: left; … … 273 275 } 274 276 275 .icon.a-close:hover { background-position: left bottom; } 277 .icon.a-close-small 278 { 279 background-image: url(/apostrophePlugin/images/a-icon-close-small.png); 280 } 281 282 .icon.a-close:hover, 283 .icon.a-close-small:hover 284 { 285 background-position: bottom; 286 } 276 287 277 288 .icon.a-drag { -
plugins/apostrophePlugin/branches/features/css/web/css/a-engines.css
r1684 r1818 1058 1058 overflow: hidden; 1059 1059 } 1060 1061 /* New Taggable Widget */ 1062 1063 .assigned-tags, 1064 .add-tags, 1065 .popular-tags 1066 { 1067 float: left; 1068 width: 100%; 1069 clear: both; 1070 margin:0 0 5px 0; 1071 } 1072 1073 .assigned-tags h5, 1074 .popular-tags h5 1075 { 1076 margin-bottom: 5px; 1077 } 1078 1079 .assigned-tags ul 1080 { 1081 display: block; 1082 float: left; 1083 width: 100%; 1084 clear: both; 1085 position: relative; 1086 } 1087 1088 .assigned-tags li 1089 { 1090 display: inline-block; 1091 float: left; 1092 position: relative; 1093 margin: 0 5px 0 0; 1094 } 1095 1096 .assigned-tags li span 1097 { 1098 float: left; 1099 display: block; 1100 position: relative; 1101 line-height: 20px; 1102 padding-right: 20px; 1103 white-space: nowrap; 1104 } 1105 1106 .add-tags .a-submit 1107 { 1108 margin-left: 2px; 1109 float: right; 1110 } 1111 1112 .add-tags-help 1113 { 1114 float: left; 1115 width: 100%; 1116 clear: both; 1117 margin: 5px 0; 1118 color: #999; 1119 } -
plugins/apostrophePlugin/branches/features/css/web/css/a-forms.css
r1684 r1818 109 109 } 110 110 111 a.a-multiple-select-remove 111 .a-multiple-select-item 112 112 { 113 113 position: relative; 114 float: left; 115 line-height: 20px; 116 clear: both; 114 117 } 115 118 116 a.a-multiple-select-removespan119 .a-multiple-select-item span 117 120 { 118 position: absolute;119 display: inline;120 121 float: left; 121 overflow: hidden;122 top: 0;123 left: 100%;124 width: 20px;125 height: 20px;126 text-indent: -9999px;127 background: url(/apostrophePlugin/images/a-icon-close-small.png) 0 0 no-repeat;128 122 } 123 124 .a-multiple-select-item .a-close-small 125 { 126 float: left; 127 } -
plugins/apostrophePlugin/branches/features/css/web/css/a-utility.css
r1684 r1818 71 71 } 72 72 73 .a-hidden 74 { 75 display: none; 76 } 77 73 78 .a-accordion .content 74 79 { /* Works with aAccordion() in aUI.js */ -
plugins/apostrophePlugin/branches/features/css/web/css/a.css
-
Property
svn:mergeinfo set
to
/plugins/apostrophePlugin/branches/1.4/web/css/a.css merged eligible
-
Property
svn:mergeinfo set
to
-
plugins/apostrophePlugin/branches/features/css/web/images
- Property svn:mergeinfo changed
/plugins/apostrophePlugin/trunk/web/images (added) merged: 1721,1737,1756,1758,1792,1801,1805
- Property svn:mergeinfo changed
-
plugins/apostrophePlugin/branches/features/css/web/js/aControls.js
r1717 r1818 279 279 function liHtml(label, options) 280 280 { 281 return "<li style='display: none'><a href='#' title='Remove this item' class='a-multiple-select-remove'>" + 282 label + 283 options['remove'] + "</a></li>\n"; 281 return "<li class='a-multiple-select-item' style='display: none;'><span>"+label+"</span><a href='#' title='Remove \""+label+"\"' class='a-btn icon a-close-small no-label nobg'>"+ options['remove'] + "</a></li>\n"; 284 282 } 285 283 // We need this because you can't have nasty characters in a selector -
plugins/apostrophePlugin/branches/features/css/web/js/fckeditor/fckconfig.js
r1681 r1818 129 129 FCKConfig.ToolbarSets["Sidebar"] = [ 130 130 ['FontFormat', 'Bold','Italic', 'Blockquote'], 131 ['OrderedList','UnorderedList','-','Link','Unlink','Anchor','-','SpellCheck','Source'] 131 ['OrderedList','UnorderedList','-','Link','Unlink','Anchor'], 132 ['SpellCheck','FitWindow','Source'] 132 133 ] ; 133 134

