Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Brief 1.5

Partial re-design and full re-write of the Chat Style.

1. ) UI elements have been re-designed and implemented to look consistently.
2. ) Re-design of Call, Voicemail, Topic and Transfers.
3. ) Updated media-queries to be more simple and flexible.
4. ) Removed a lot of RGBa and opacity values to improve performance in large chats.
5. ) Many more minor improvements towards consistency, quality and a better user experience.
  • Loading branch information...
commit 5ec6cd67cd9f395a162ad977766f883113493433 1 parent 0f79428
@miekd authored
Showing with 2,490 additions and 9,256 deletions.
  1. +1 −14 Brief.SkypeChatStyle/Contents/Resources/Conversation.html
  2. +0 −37 Brief.SkypeChatStyle/Contents/Resources/css-source/.htaccess
  3. +0 −1,182 Brief.SkypeChatStyle/Contents/Resources/css-source/main.css
  4. +0 −153 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/config.php
  5. +0 −61 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/index.php
  6. BIN  Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/.DS_Store
  7. +0 −4 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/cache/.htaccess
  8. +0 −1  Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/cache/main.css
  9. +0 −484 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/controllers/CSScaffold.php
  10. +0 −131 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/Benchmark.php
  11. +0 −618 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/CSS.php
  12. +0 −794 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/Controller.php
  13. +0 −47 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/Exception.php
  14. +0 −52 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/Module.php
  15. +0 −227 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/Utils.php
  16. +0 −34 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/behaviours/border-radius.htc
  17. +0 −158 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/behaviours/boxsizing.htc
  18. +0 −19 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/grids/960gs.css
  19. +0 −29 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/grids/blueprint.css
  20. +0 −13 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/grids/generic.css
  21. +0 −12 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/background-size.css
  22. +0 −14 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/border-box.css
  23. +0 −57 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/border-radius.css
  24. +0 −10 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/box-shadow.css
  25. +0 −15 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/inline-block.css
  26. +0 −27 ....SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/multi-column-layout.css
  27. +0 −14 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/opacity.css
  28. +0 −9 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/rotate.css
  29. +0 −11 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/css3/text-overflow.css
  30. +0 −36 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/layout/clearfix.css
  31. +0 −14 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/layout/float.css
  32. +0 −147 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/layout/grid.css
  33. +0 −14 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/layout/has-layout.css
  34. +0 −23 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/layout/min-dimensions.css
  35. +0 −7 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/typography/bevel.css
  36. +0 −71 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/typography/fancy-type.css
  37. +0 −122 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/typography/font-stacks.css
  38. +0 −9 ....SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/typography/image-replace.css
  39. +0 −8 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/typography/safari-fix.css
  40. +0 −9 ...f.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/utilities/accessibility.css
  41. +0 −31 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/utilities/images.css
  42. +0 −16 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/utilities/inherit.css
  43. +0 −48 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/utilities/lists.css
  44. +0 −54 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/utilities/position.css
  45. +0 −108 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/utilities/reset.css
  46. +0 −82 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/widgets/buttons.css
  47. +0 −125 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/widgets/lightbox.css
  48. +0 −73 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/mixins/widgets/tabs.css
  49. +0 −27 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/templates/content.css
  50. +0 −5 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/templates/reset.css
  51. +0 −212 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/framework/templates/typography.css
  52. +0 −153 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Constants/Constants.php
  53. +0 −78 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Expression/Expression.php
  54. +0 −67 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/ImageReplace/ImageReplace.php
  55. +0 −95 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Import/Import.php
  56. +0 −111 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Iteration/Iteration.php
  57. +0 −222 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Layout/Layout.php
  58. +0 −49 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Layout/views/Layout_grid.php
  59. +0 −16 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Minify/Minify.php
  60. +0 −242 ...SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Minify/libraries/Minify_Compressor.php
  61. +0 −335 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Mixins/Mixins.php
  62. +0 −191 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/NestedSelectors/NestedSelectors.php
  63. +0 −25 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Typography/Typography.php
  64. +0 −223 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Typography/views/TS_typography.php
  65. +0 −83 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Validate/Validate.php
  66. +0 −10 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/Validate/config.php
  67. +0 −51 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/modules/XML_constants/XML_constants.php
  68. +0 −1,529 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/vendor/FirePHPCore/FirePHP.class.php
  69. +0 −259 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/vendor/FirePHPCore/fb.php
  70. +0 −48 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/views/Scaffold_Exception.php
  71. 0  Brief.SkypeChatStyle/Contents/Resources/{css-source/base.css → css/base.scss}
  72. +1,035 −1 Brief.SkypeChatStyle/Contents/Resources/css/main.css
  73. +1,321 −0 Brief.SkypeChatStyle/Contents/Resources/css/main.scss
  74. +23 −0 Brief.SkypeChatStyle/Contents/Resources/css/sass-base.scss
  75. +110 −0 Brief.SkypeChatStyle/Contents/Resources/css/sass-mixins-a.scss
  76. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/asset-sprite.png
  77. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/buttons-14.png
  78. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/buttons-32.png
  79. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/buttons-9.png
  80. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/generic-pill-default.png
  81. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/generic-pill-down.png
  82. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_arrow_down.png
  83. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_arrow_right.png
  84. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_cancel.png
  85. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_edit.png
  86. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_edited.png
  87. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_pause.png
  88. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_play.png
  89. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_quicklook.png
  90. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_refresh.png
  91. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_reveal.png
  92. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_stop.png
  93. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_sub.png
  94. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/icon_warning.png
  95. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/transfer-32.png
  96. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/transfer-multiple-32.png
  97. BIN  Brief.SkypeChatStyle/Contents/Resources/gfx/typing-16x16-white.gif
View
15 Brief.SkypeChatStyle/Contents/Resources/Conversation.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
- <title>Brief Chat Style</title>
+ <title>Brief 1.5 &mdash; Skype 5 Chat Style</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="screen" />
@@ -12,19 +12,6 @@
<script>
var debug = true;
</script>
-
- <style>
- @-webkit-keyframes typing-slide-in {
- 0% { opacity: 0; margin-bottom: -51px; }
- 100% { opacity: 1; margin-bottom: 4px; }
- }
-
- @-webkit-keyframes fade-in {
- 0% { opacity: 0; }
- 70% { opacity: 0.8; }
- 100% { opacity: 1; }
- }
- </style>
</head>
<body>
View
37 Brief.SkypeChatStyle/Contents/Resources/css-source/.htaccess
@@ -1,37 +0,0 @@
-####################################################
-#
-# THIS FILE SHOULD BE PLACED IN YOUR CSS DIRECTORY
-#
-####################################################
-
-<IfModule mod_deflate.c>
- SetOutputFilter DEFLATE
-</IfModule>
-
-<IfModule mod_expires.c>
- ExpiresActive on
- ExpiresDefault "access plus 10 years"
-</IfModule>
-
-# To enable invisible parsing of your css, you need to change the path
-# below to find your scaffold/index.php file.
-#
-# By default, Scaffold should be placed in your CSS directory. You should
-# place this .htaccess file in the same directory. If you're setup is
-# fairly average, this should work out of the box.
-#
-# Now, rather than calling http://site.com/css/scaffold/index.php?request=css/master.css
-# you can just call http://site.com/css/master.css and this htaccess file will
-# take care of the routing for you.
-
-<IfModule mod_rewrite.c>
- RewriteEngine on
-
- # Anything after .css is used as the output=
- RewriteCond %{REQUEST_URI} \.css
- RewriteRule ^(.+)/([^/]+)/?$ scaffold/index.php?request=%{REQUEST_URI}&output=$2&%{QUERY_STRING}
-
- RewriteCond %{REQUEST_FILENAME} -f
- RewriteCond %{REQUEST_URI} \.css$
- RewriteRule ^(.+)$ scaffold/index.php?request=%{REQUEST_URI}&%{QUERY_STRING}
-</IfModule>
View
1,182 Brief.SkypeChatStyle/Contents/Resources/css-source/main.css
@@ -1,1182 +0,0 @@
-@import "base.css";
-
-@constants {
- line_color: rgba(40,40,40,0.08);
-
- bg_color: #fafafa;
- alt_bg_color: #f3f3f3;
- //alt_bg_color: rgba(200,200,200,0.8);
- highlight_bg_color: rgba(255,255,220,0.8);
-
- text_color: rgba(0,0,0,0.8);
- lighter_text_color: rgba(0,0,0,0.7);
- darker_text_color: rgba(0,0,0,0.9);
-}
-
-
-/* @group Typography
-*/
-
-body {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 13px;
- line-height: 20px;
-
- color: !text_color;
-
- overflow-x: hidden;
-}
-
-.item {
-
- &:not(.read) {
- text-shadow: 0 1px 0 rgba(255,255,255,0.8);
- }
-
- button.accept,
- button.decline {
- font-size: 11px;
- font-weight: bold;
- line-height: 16px;
-
- color: !text_color;
-
- text-shadow: 0 1px 0 rgba(255,255,255,0.8);
- }
-
- .sender {
- font-weight: bold;
-
- a {
- color: inherit;
- text-decoration: none;
- }
- }
-
- .time {
- font-size: 11px;
- color: rgba(0,0,0,0.3);
-
- line-height: 14px;
- margin: 3px 0;
- }
-
- &.out {
- color: !darker_text_color;
- }
-
- .completed,
- &.read {
- color: rgba(0,0,0,0.5);
- }
-
- &.transfer {
- color: rgba(0,0,0,0.7) !important;
- }
-}
-
-.alert .body {
- color: rgba(0,0,0,0.4);
- font-weight: bold;
-}
-
-.duration {
- color: rgba(0,0,0,0.3);
-}
-
-.transfer {
- .name {
- font-size: 11px;
- }
-}
-
-.emote {
- color: !darker_text_color;
-
- .body {
- font-weight: bold;
- }
-
- .body:before {
- font-size: 15px;
- font-family: Verdana, sans-serif;
- font-weight: normal;
-
- color: rgba(0,0,0,0.40);
- text-shadow: 0 1px 0 #fff;
- }
-}
-
-.typing {
- font-size: 11px;
-}
-
-/* @end */
-
-
-/* @group General UI Elements
-*/
-
-button.accept,
-button.decline {
- background: #e6e6e6;
-
- padding: 2px 8px 0;
-
- border: 1px solid #ddd;
-
- -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2), 0 1px 0 rgba(255,255,255,0.5) inset;
- -webkit-border-radius: 12px;
-
- position: relative;
-
- &:hover {
- background: #eee;
- -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2), 0 1px 0 rgba(255,255,255,0.5) inset;
- }
-
- &:active {
- top: 1px;
- -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.8), 0 1px 1px rgba(0,0,0,0.2) inset;
- }
-}
-
-.avatar {
- display: none;
-}
-
-.hidden {
- display: none;
-}
-
-
-.progressbar {
- display: block;
- height: 10px;
- position: relative;
- margin: 20px 2px 0 0;
-}
-
- .progressbar .total {
- display: block;
- background: -webkit-gradient(linear, left bottom, left top,
- color-stop(0, #f0f0f0),
- color-stop(0.8, #e8e8e8),
- color-stop(1, #dbdbdb)
- );
- border: 1px solid #bfbfbf;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- height: 6px;
- position: relative;
- width: 100%;
- }
-
- .progressbar .progress {
- display: block;
- background: -webkit-gradient(linear, left bottom, left top,
- color-stop(0, #12b4f0),
- color-stop(0.4, #2cbbf0),
- color-stop(0.5, #61ccf3),
- color-stop(1, #74d1f3)
- );
- border: 1px solid;
- border-color: #45abd1 #0e96c9 #3ba8d1 #3ba8d1;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- height: 6px;
- position: absolute;
- top: 0;
- left: 0;
- min-width: 6px;
- }
-
- .progressbar .progress.hidden {
- display: none !important;
- }
-
- .progressbar .playhead {
- display: block;
- border: 1px solid;
- border-color: #aaa #959595 #888 #959595;
- -webkit-border-radius: 6px;
- border-radius: 6px;
- height: 10px;
- width: 10px;
- position: absolute;
- top: -3px;
- right: -3px;
- background: #ececec;
- }
-
- .progressbar .playhead span {
- border: 1px solid;
- border-color: #f7f7f7 #eaeaea #d3d3d3 #eaeaea;
- display: block;
- width: 8px;
- height: 8px;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- background: -webkit-gradient(linear, left bottom, left top,
- color-stop(1, #e1e1e1),
- color-stop(0, #d3d3d3)
- );
- }
-
-/* @end */
-
-/* @group Conversation Wrapper
-*/
-
-#conversation {
- position: relative;
-
- min-width: 400px;
-
- border-bottom: 1px solid #ddd;
-}
-
-/* @end */
-
-
-/* @group Chat Item
-*/
-
-.item {
- position: relative;
- clear: both;
-
- background: !bg_color;
-
- &,
- &.read + &.followup:not(.read) {
- .container {
- margin-top: 0;
- padding: 10px 0 9px;
- }
-
- border-bottom: 1px solid !line_color;
- -webkit-box-shadow: 0 1px 0 rgba(255,255,255,1) inset;
-
- .sender,
- .avatar {
- display: block;
- }
-
- .time {
- opacity: 0.8;
- top: 10px;
- }
-
- .edit,
- .delete {
- top: 11px;
- }
- }
-
- &.out {
- background: !alt_bg_color;
-
- -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.7) inset;
- }
-
- &:not(.read) {
- -webkit-animation-name: fade-in;
- -webkit-animation-duration: 0.5s;
- }
-
-
-
- .head {
-
- }
-
- .time {
- position: absolute;
- right: 10px;
- top: 10px;
-
- -webkit-transition-property: margin, opacity;
- -webkit-transition-duration: 0.2s, 0.2s;
- -webkit-transition-timing-function: ease-out, ease-out;
- }
-
- .time.sending {
- padding-right: 22px;
- background: url(../gfx/buttons-14.png) no-repeat right -14px;
- }
-
- .time.failed {
- padding-right: 22px;
- background: url(../gfx/buttons-14.png) no-repeat right -28px;
-
- opacity: 0.5;
- }
-
- .time.rejected,
- .time.missing,
- .time.cancelled {
- padding-right: 22px;
- background: url(../gfx/buttons-14.png) no-repeat right -28px;
- }
-
-
-
- .body {
- overflow: hidden;
- word-wrap: break-word;
- }
-
- .body a {
- color: #007ec4;
- text-decoration: none;
- }
-
- .body a:hover {
- color: #007ec4;
- border-bottom: 1px dotted #007ec4;
- text-decoration: none;
- }
-
-
-
- .delete,
- .quicklook,
- .reveal,
- .cancel,
- .edit {
- width: 14px;
- height: 14px;
- background: url(../gfx/buttons-14.png) no-repeat 0 0;
- vertical-align: middle;
- // display: none;
- opacity: 0;
-
- cursor: pointer;
-
- &:hover {
- opacity: 0.4 !important;
- }
-
- &:active {
- opacity: 0.6 !important;
- }
-
- -webkit-transition-property: opacity;
- -webkit-transition-duration: 0.3s;
- -webkit-transition-timing-function: ease-out;
- }
-
-}
-
-
-/* @end */
-
-
-/* @group Message
-*/
-
-.message {
- padding: 0 80px 0 15px;
-
- &:last-child {
- border-bottom: 1px solid !line_color;
- }
-
- &.in:last-child {
- border-bottom: none;
- }
-
- .head {
- margin-bottom: 5px;
-
- white-space: nowrap;
- overflow-x: hidden;
- text-overflow: ellipsis;
- }
-
- .delete,
- .edit {
- position: absolute;
- right: 10px;
- top: 11px;
- }
-
- .delete {
- background-position: 0 0;
- margin: 2px 0 0 -14px;
- }
-
- .edit {
- background-position: 0 -70px;
-
- top: 13px;
- right: 30px;
- }
-
- .body {
-
- }
-
- &.followup {
- border-top: none;
- -webkit-box-shadow: none;
-
- .container {
- padding-top: 0;
- margin-top: -6px;
- }
-
- .head {
- margin: 0;
- }
-
- .sender,
- .avatar {
- display: none;
- }
-
- .time {
- top: 0;
- opacity: 0.2;
- //display: block;
- //text-align: center;
- //overflow: hidden;
- }
-
- .delete {
- top: 1px;
- }
-
- .edit {
- top: 3px;
- }
- }
-
-
- &.editable {
- &:hover {
- .delete,
- .edit {
- display: block;
- opacity: 0.15;
-
- }
-
- .time {
- margin-right: 40px;
- opacity: 0;
- }
- }
-
- &.followup:hover {
- .time {
- }
- }
- }
-
-
- &.edited .time {
- padding-left: 14px;
- background: url(../gfx/asset-sprite.png) no-repeat 0 -7px;
- }
-
- &.read {
- &, &:hover {
- .time {
- opacity: 0.6;
- }
- }
-
- .time {
- margin-right: 0 !important;
- }
-
- .delete, .edit {
- display: none !important;
- }
-
- &.followup .time {
- display: none !important;
- }
- }
-
-}
-
-
-/* @end */
-
-
-/* @group Emote
-*/
-
-
-.emote {
- padding: 0 10px 0 15px;
-
- background: !highlight_bg_color;
-
- .body {
- position: relative;
- overflow: visible;
- // top: -1px;
-
- padding-left: 20px !important;
- }
-
- .body:before {
- content: "\00bb";
-
- display: block;
- position: absolute;
- left: 0px;
- top: 50%;
-
- margin-top: -10px;
- }
-}
-
-
-/* @end */
-
-
-/* @group Call Notices
-*/
-
-.call {
- background: !highlight_bg_color;
-
- .container {
- overflow: hidden;
- padding-left: 15px;
- }
-
- .head,
- .body {
- float: left;
- }
-
- .head {
- min-width: 130px;
- }
-
- .body {
- min-width: 230px;
-
- position: relative;
- top: 1px;
- }
-
- .duration {
- margin-left: 1em;
- }
-}
-
-
-/* @end */
-
-
-/* @group Alert
-*/
-
-.alert {
- padding: 0 15px;
-}
-
-
-/* @end */
-
-
-/* @group Transfer
-*/
-
-.transfer {
- padding: 0 10px 0 15px;
-
- background: #f6f6ff;
-
- .head {
- margin: 0 0 5px;
- }
- .avatar {
- float: left;
- margin: 2px 0 0 -54px;
- }
-
- .icon {
- float: left;
-
- height: 32px;
- width: 32px;
-
- margin: 2px 10px 0 0;
- }
-
- .delete,
- .cancel,
- .quicklook,
- .reveal {
- float: right;
- margin: 19px 0 0 0;
- }
-
- &.out .cancel,
- .connecting .cancel {
- display: block;
- }
-
- .delete,
- .cancel {
- background-position: 0 0;
- }
-
- .reveal {
- background-position: 0 -56px;
- }
-
- .quicklook {
- background-position: 0 -42px;
- }
-
- .name {
- display: block;
-
- margin: 0;
- padding-top: 2px;
-
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
-
- .size {
- font-size: 11px;
-
- color: rgba(0, 0, 0, 0.30);
- margin: 1px 0 0;
-
- display: block;
- }
-
- .accept,
- .decline {
- top: 2px;
- left: -1px;
-
- &:active {
- top:3px;
- }
- }
-
- /*
- .accept {
- float: right;
- margin: 5px 54px 0 7px;
- }
-
- .decline {
- float: right;
- margin: 5px 0 0 7px;
- }
-
- .sub .accept {
- margin-top: 15px;
- }
-
- .sub .decline {
- margin-top: 15px;
- }*/
-
- .main,
- .sub {
- position: relative;
- }
-
- .main {
- min-height: 36px;
- }
-
- .main .name {
- padding-left: 13px;
- cursor: default;
- background: url(../gfx/buttons-9.png) no-repeat 0 3px;
- max-width: 100px;
- }
-
- .main .name.open {
- background: url(../gfx/buttons-9.png) no-repeat 0 -15px;
- }
-
- .main:last-child .name {
- padding-left: 0;
- background: transparent;
- cursor: inherit;
- max-width: 100%;
- }
-
- .main.running,
- .main.connecting,
- .main.running:last-child {
- margin-bottom: 0px;
- }
-
- .sub {
- margin: 0;
- clear: both;
- height: 0;
- overflow: hidden;
- }
-
- .sub.open {
- border-top: 1px dotted #dadada;
- height: auto;
-
- margin: 5px 0 0;
- padding: 0 0 3px;
- }
-
- .main + .sub {
- margin-top: 10px;
- }
-
- .sub.open:last-child {
- margin-bottom: 9px;
-
- border-top: 1px dotted #dadada;
- }
-
- .sub.running.open {
- margin-bottom: 8px;
- }
-
- .sub .icon {
- margin-top: 9px;
- }
-
- .sub.running:last-child {
- margin-bottom: 1px;
- }
-
- .sub .size {
- top: 10px;
- }
-
-
-
- .progressbar {
- margin-top: 2px;
- margin-left: 42px;
- }
-
- &.in .progressbar {
- display: none;
- }
-
- &.in .connecting .progressbar {
- display: block;
- }
-
- &.out .progressbar .progress.hidden,
- .connecting .progressbar .progress.hidden {
- width: 100%;
- display: block !important;
- background-image: url(../gfx/asset-sprite.png);
- background-repeat: repeat-x;
- background-position: 0 0;
- border: 1px solid rgba(0, 0, 0, 0);
- opacity: 0.1;
- }
-
- .running .progressbar {
- display: block;
- margin-bottom: -2px;
- }
-
- .connecting .progressbar {
- display: block;
- margin-bottom: -2px;
- }
-
- &.out .progressbar {
- margin-bottom: -2px;
- }
-
- &.out .running .progressbar .total {
- background: -webkit-gradient(linear, left bottom, left top,
- color-stop(0, #f0f0f0),
- color-stop(0.8, #e8e8e8),
- color-stop(1, #dbdbdb)
- );
- }
-
- .running .accept,
- .running .decline {
- display: none;
- }
-
- .running .cancel {
- display: block;
- }
-
-
- .completed {
- .quicklook,
- .reveal,
- .delete {
- display: block;
- margin-top: 11px;
- }
- }
-
- .missing {
- .quicklook,
- .reveal,
- .delete {
- display: none;
- }
- }
-
- .connecting .accept,
- .connecting .decline {
- display: none;
- }
-
- .sub .quicklook,
- .sub .reveal,
- .sub .delete {
- margin-top: 18px;
- }
-
- .main .reveal {
- display: none;
- }
-
- &.in .main.completed:last-child .quicklook,
- &.in .main.completed:last-child .reveal {
- display: block;
- }
-
- &.out .main.completed:last-child .quicklook,
- &.out .main.completed:last-child .reveal,
- &.out .main.cancelled:last-child .quicklook,
- &.out .main.cancelled:last-child .reveal {
- display: block;
- }
-
- &.in .completed.cancelled .quicklook,
- &.in .completed.cancelled .reveal,
- &.in .completed.failed .quicklook,
- &.in .completed.failed .reveal {
- display: none !important;
- }
-
- .completed .quicklook,
- .completed .reveal {
- margin-left: 7px;
- }
-
- .completed .accept,
- .completed .decline {
- display: none;
- }
-
- .missing .accept,
- .missing .decline {
- display: none;
- }
-
- &.out .completed .cancel {
- display: none;
- }
-
- .missing .name {
- opacity: 0.65;
- }
-
- .missing .icon {
- opacity: 0.65;
- }
-
- &.out .completed .progressbar {
- display: none;
- }
-
-}
-
-
-/* @end */
-
-
-/* @group SMS
-*/
-
-.sms {
- padding: 0 10px 0 15px;
-
- background: !highlight_bg_color;
- border-top-color: rgba(255,255,255,0.95)
-}
-
- .sms.out {
- background: !bg_color;
- }
-
- .sms div.body {
- padding: 4px 127px 0 0;
- }
-
- .sms.read {
- color: rgba(0, 0, 0, 0.60);
- }
-
-
-/* @end */
-
-
-/* @group History Block (on the top of the screen)
-*/
-
-.history {
- padding: 10px 0;
- border-top: 1px solid #dadada;
- background: #fff;
- text-align: center;
-
- font-size: 11px;
-}
-
- .history:first-child {
- border-top: none;
- }
-
- .history:last-child {
- border-bottom: 1px solid #dadada;
- }
-
- .history .container {
- padding: 10px 0;
- }
-
- .history div.body {
- font-weight: bold;
- color: rgba(0, 0, 0, 0.3);
- }
-
- .history a {
- color: rgba(0, 126, 196, 0.9);
- }
-
- .history div.body span.history-more {
- display: block;
- font-weight: normal;
- }
-
- .history div.body span.history-more a {
-
- }
-
- .history .vertical-separator {
- display: inline-block;
- width: 1px;
- height: 15px;
- margin: 0 8px -3px 8px;
- background: rgba(180, 180, 180, 0.9);
- }
-
- .history .vertical-separator:last-child {
- display: none;
- }
-
-/* @end */
-
-
-/* @group Typing indicator */
-
-.typing {
- position: absolute;
- right: 0;
- bottom: 0;
-
- border: none;
-
- opacity: 1;
-
- overflow: hidden;
-
- background: transparent;
-
- -webkit-box-shadow: none;
-}
-
- .typing .container {
- position: relative;
-
- padding: 3px 0 2px;
- margin: 6px;
-
- height: 20px;
-
- border: 1px solid !line_color;
-
- background: rgba(255,255,255,0.9) url(../gfx/typing-16x16-white.gif) no-repeat 8px 5px;
-
- opacity: 1;
-
- -webkit-transition-property: margin-bottom, opacity;
- -webkit-transition-duration: 0.3s, 0.3s;
- -webkit-transition-timing-function: ease-out, ease-out;
-
- -webkit-border-radius: 4px;
- -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
-
- -webkit-animation-name: typing-slide-in;
- -webkit-animation-duration: 0.4s;
-
- &:hover {
- opacity: 0.2;
- }
- }
-
- .typing.invisible .container {
- margin-bottom: -51px;
- opacity: 0;
- }
-
- .typing .head {
- padding: 0 15px 0 32px;
- }
-
- .typing .sender {
- font-weight: bold;
- }
-
- .message.in + .typing.invisible,
- .message.in.followup + .typing.invisible,
- .alert + .typing.invisible {
- border-top: 1px solid rgba(255, 255, 255, 0);
- }
-
-/* @end */
-
-
-
-/* @group Media Queries
-*/
-
-@media screen and (max-width: 480px) {
- .item {
- .avatar {
- display: none !important;
- }
- }
-}
-
-
-@media screen and (min-width: 480px) {
-
- #conversation
- {
- .avatar {
- display: block;
-
- position: absolute;
- top: 8px;
- left: 8px;
-
- width: 22px;
- }
-
- .transfer .avatar {
- display: block;
- }
-
- .transfer,
- .message,
- .call,
- .sms {
- .head,
- .body {
- padding-left: 25px !important;
- }
- }
-
- .emote {
- .body {
- padding-left: 42px !important;
- }
-
- .body:before {
- left: 25px;
- }
- }
-
- }
-}
-
-
-@media screen and (max-width: 640px) {
- .message {
- &.read + &.followup:not(.read) .edit,
- &:not(.followup) .edit {
- top: 13px;
- }
-
- &:not(.followup) .time {
- top: 35px !important;
- }
- }
-}
-
-
-@media screen and (min-width: 640px) {
-
- #conversation
- {
-
- .message {
- .container {
- display: -webkit-box;
- -webkit-box-orient: horizontal;
- }
-
- .head {
- min-width: 130px;
- max-width: 130px;
- margin-bottom: 0;
-
- .edit {
- left: 170px;
- }
- }
-
- .time {
- margin-right: 0px;
- }
-
- &.editable:hover .time {
- margin-right: 20px !important;
- }
-
- &.read.editable .time {
- margin-right: 0 !important;
- }
-
- .body {
- padding-top: 1px;
- padding-right: 80px;
- -webkit-box-flex: 1;
- }
- }
-
- .transfer {
- .size {
- position: absolute;
- right: 0;
- top: 1px;
- }
- }
-
- }
-}
-
-/* @end */
View
153 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/config.php
@@ -1,153 +0,0 @@
-<?php
-
-/**
- * The document root for the server. If you're server doesn't set this
- * variable, you can manually enter in the server path to the document root
- */
-$path['document_root'] = $_SERVER['DOCUMENT_ROOT'];
-
-/**
- * CSS directory. This is where you are storing your CSS files.
- *
- * This path can be relative to this file or absolute from the document root.
- */
-$path['css'] = '../';
-
-/**
- * The path to the system folder.
- */
-$path['system'] = 'system';
-
-/**
- * Sets the cache path. By default, this is inside of the system folder.
- * You can set it to a custom location here. Be aware that when Scaffold
- * recaches, it empties the whole cache to removes all flagged cache files.
- */
-$path['cache'] = 'system/cache';
-
-/**
- * Debug
- *
- * Enable Firebug output. You need Firebug and FirePHP for Firefox.
- * This is handy when you're viewing the page the CSS is used on,
- * as it will display CSScaffold errors in the console.
- *
- */
-$config['debug'] = true;
-
-/**
- * Mode
- *
- * Either 'production' or 'development'. In development the cache is always
- * refreshed each time you reload the CSS. In production, the cache is locked
- * and will never be recached. This means the load on your server will be much
- * less when the site is live.
- */
-$config['in_production'] = false;
-
-/**
- * Force Recache
- *
- * By default, Scaffold will only recache your CSS if there
- * have been changes made to the requested file. If you want
- * it to always recache for development, set this to true.
- */
-$config['force_recache'] = true;
-
-/**
- * Show CSS rendering information
- *
- * Output information at the top of your cached file.
- */
-$config['show_header'] = false;
-
-/**
- * Automatically include mixins
- *
- * By default, Scaffold includes any and all mixin files stored
- * in framework/mixins, to save the user the trouble of including
- * them by themselves. If you want Scaffold to run faster, you can
- * include them manually.
- *
- * Setting this to false means you need to include the framework/mixins manually.
- */
-$config['auto_include_mixins'] = true;
-
-/**
- * Override CSS @import
- *
- * Scaffold normally uses @include to import files, rather than
- * overriding the standard CSS @import. You can change this, and
- * use @import instead by setting this to true.
- *
- * Setting this to true means you'll use @import instead of @include
- */
-$config['override_import'] = true;
-
-/**
- * Make all URL paths absolute
- *
- * If you're calling CSS using scaffold/index.php?request=path/to/css method,
- * the relative paths to images will break in the browser, as it will
- * be looking for the images inside the scaffold folder. To fix this, Scaffold
- * can make all url() paths absolute.
- *
- * If you're having image path issues, set this to true.
- */
-$config['absolute_urls'] = false;
-
-/**
- * Use CSS-style constants
- *
- * You can use a syntax similar to the proposed CSS variable syntax which is
- * const(constantname) instead of the SASS-style !constantname
- *
- * Setting this to true uses the const(constantname) syntax for constants
- */
-$config['use_css_constants'] = false;
-
-/**
- * Minify/Prettify
- *
- * You can use the minify library to compress your CSS. Minify strips all
- * unnecessary whitespace, empty and redundant selectors etc.
- *
- * By setting this to false, instead of minifying your CSS, it will prettify it,
- * making it easier to read instead of worrying about compressing down the size.
- */
-$config['minify_css'] = false;
-
-/**
- * Custom Global CSS Constants
- *
- * You can set basic constants here that can be access throughout your
- * entire project. I'd advise that you don't add stylesheet-specific styles
- * here (like colours), instead, just add any constants you might need,
- * like $_SERVER variables.
- *
- * If you want to add more complex constant-setting logic, create a plugin.
- */
-$config['constants'] = array
-(
- 'name' => 'value',
-);
-
-/**
- * Enabled Plugins
- *
- * Set which plugins are currently enabled. Plugins may also have
- * their own configuration options. Check the plugin folder for a
- * config.php file to customize the way the plugin works.
- *
- * All of these plugins are already installed. This is where you can
- * turn them on or off.
- *
- * To install a new plugin, drop it in scaffold/plugins, then add it to
- * this list. For more information on any of these plugins, or about
- * creating your own plugins, check the wiki on Github.
- *
- */
-$config['disabled_plugins'] = array
-(
- 'XML_constants'
-);
View
61 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/index.php
@@ -1,61 +0,0 @@
-<?php
-/**
- * DO NOT EDIT THIS FILE!
- *
- * This file acts as the front controller for CSScaffold.
- *
- * It's fairly straightforward. It loads a config file, sets an include path,
- * and then runs CSScaffold.
- *
- * You should be able to pull CSScaffold out and use it however you wish as
- * long as the config file is in the right format.
- *
- * If you're looking to do something unique, like moving files and folders
- * around, you'll probably need to change this file or create a custom
- * front controller for Scaffold. Just keep in mind that the run method
- * NEEDS those three parameters, the SYSPATH constant and all of the required
- * files. Apart from that, you should be able to drop it into anything.
- *
- * @package CSScaffold
- */
-
-# Errors. This is overridden by the debug option later.
-ini_set('display_errors', TRUE);
-error_reporting(E_ALL & ~E_STRICT);
-
-# Include the config file
-include 'config.php';
-
-# Path to the system directory
-define('SYSPATH', str_replace('\\', '/', realpath($path['system'])). '/');
-
-# Set the server variable for document root
-if(!isset($_SERVER['DOCUMENT_ROOT']))
-{
- $_SERVER['DOCUMENT_ROOT'] = $path['document_root'];
-}
-
-# Set timezone, just in case it isn't set
-if (function_exists('date_default_timezone_set'))
-{
- date_default_timezone_set('GMT');
-}
-
-# Include the classes
-require SYSPATH . 'core/Utils.php';
-require SYSPATH . 'core/Benchmark.php';
-require SYSPATH . 'core/Module.php';
-require SYSPATH . 'core/CSS.php';
-require SYSPATH . 'core/Controller.php';
-require SYSPATH . 'core/Exception.php';
-require SYSPATH . 'vendor/FirePHPCore/fb.php';
-require SYSPATH . 'vendor/FirePHPCore/FirePHP.class.php';
-
-# And finally... the one that actually does the work
-require SYSPATH . 'controllers/CSScaffold.php';
-
-# And we're off!
-if(isset($_GET['request']))
-{
- CSScaffold::run($_GET, $config, $path);
-}
View
BIN  Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/.DS_Store
Binary file not shown
View
4 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/cache/.htaccess
@@ -1,4 +0,0 @@
-<IfModule mod_expires.c>
- ExpiresActive on
- ExpiresDefault "access plus 10 years"
-</IfModule>
View
1  Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/cache/main.css
@@ -1 +0,0 @@
-html,
View
484 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/controllers/CSScaffold.php
@@ -1,484 +0,0 @@
-<?php
-/**
- * Class CSScaffold
- * @package CSScaffold
- */
-
-/**
- * CSScaffold
- *
- * Handles all of the inner workings of the framework and juicy goodness.
- * This is where the metaphorical cogs of the system reside.
- *
- * Requires PHP 5.0.0
- * Tested on PHP 5.3.0
- *
- * @package CSScaffold
- * @author Anthony Short <anthonyshort@me.com>
- * @copyright 2009 Anthony Short. All rights reserved.
- * @license http://opensource.org/licenses/bsd-license.php New BSD License
- * @link https://github.com/anthonyshort/csscaffold/master
- */
-class CSScaffold extends Scaffold_Controller
-{
- /**
- * CSScaffold Version
- */
- const VERSION = '1.5.0';
-
- /**
- * Successfully loaded modules
- *
- * @var array
- */
- private static $loaded_modules;
-
- /**
- * Internal cache
- */
- private static $internal_cache;
-
- /**
- * Sets the initial variables, checks if we need to process the css
- * and then sends whichever file to the browser.
- *
- * @return void
- * @author Anthony Short
- **/
- public static function run($get, $config = array(), $path = array())
- {
- static $run;
-
- # This function can only be run once
- if ($run === TRUE)
- return;
-
- # The default options
- $default_config = array
- (
- 'debug' => false,
- 'in_production' => false,
- 'force_recache' => false,
- 'show_header' => true,
- 'auto_include_mixins' => true,
- 'override_import' => false,
- 'absolute_urls' => false,
- 'use_css_constants' => false,
- 'minify_css' => true,
- 'constants' => array(),
- 'disabled_plugins' => array()
- );
-
- # Merge them with our set options
- $config = array_merge($default_config, $config);
-
- # The default paths
- $default_paths = array
- (
- 'document_root' => $_SERVER['DOCUMENT_ROOT'],
- 'css' => '../',
- 'system' => 'system',
- 'cache' => 'cache'
- );
-
- # Merge them with our set options
- $path = array_merge($default_paths, $path);
-
- # If we want to debug (turn on errors and FirePHP)
- if($config['debug'])
- {
- # Set the error reporting level.
- error_reporting(E_ALL & ~E_STRICT);
-
- # Set error handler
- set_error_handler(array('CSScaffold', 'exception_handler'));
-
- # Set exception handler
- set_exception_handler(array('CSScaffold', 'exception_handler'));
-
- # Turn on FirePHP
- FB::setEnabled(true);
- }
- else
- {
- # Turn off errors
- error_reporting(0);
- FB::setEnabled(false);
- }
-
- # Set the options and paths in the config
- self::config_set('core', $config);
-
- # Set the paths in the config
- self::config_set('core.path.docroot', Utils::fix_path( $path['document_root']) );
- self::config_set('core.path.system', Utils::fix_path( $path['system']) );
- self::config_set('core.path.cache', Utils::fix_path( $path['cache']) );
- self::config_set('core.path.css', Utils::fix_path( $path['css']) );
- self::config_set('core.url.css', Utils::urlpath( self::config('core.path.css') ));
- self::config_set('core.url.system', Utils::urlpath( SYSPATH ) );
-
- # Load the include paths
- self::include_paths(TRUE);
-
- # Set the output
- if(isset($get['output']))
- self::config_set('core.output', $get['output']);
-
- # Parse the $_GET['request'] and set it in the config
- self::config_set('core.request', self::parse_request($get['request']));
-
- # Get the modified time of the CSS file
- self::config_set('core.request.mod_time', filemtime(self::config('core.request.path')));
-
- # Tell CSScaffold where to cache and tell if we want to recache
- self::cache_set(self::config('core.path.cache'));
-
- # Set it back to false if it's locked
- if( $config['in_production'] AND file_exists(self::$cached_file) )
- {
- $recache = false;
- }
-
- # If we need to recache
- elseif(
- $config['force_recache'] OR
- isset($get['recache']) OR
- self::config('core.cache.mod_time') <= self::config('core.request.mod_time') OR
- !file_exists(self::$cached_file)
- )
- {
- $recache = true;
- self::cache_clear();
- }
- else
- {
- $recache = false;
- }
-
- # Load the modules
- self::load_modules($config['disabled_plugins']);
-
- # Create a new CSS object
- CSS::load( self::config('core.request.path') );
-
- # Parse it
- if($recache) self::parse_css();
-
- # Log to Firebug
- FB::log(self::config('core'));
-
- # Output it
- self::output(CSS::$css);
-
- # Setup is complete, prevent it from being run again
- $run = TRUE;
- }
-
- private static function parse_request($path)
- {
- # Get rid of those pesky slashes
- $requested_file = Utils::trim_slashes($path);
-
- # Remove anything after .css - like /typography/
- $requested_file = preg_replace('/\.css(.*)$/', '.css', $requested_file);
-
- # Remove the start of the url if it exists (http://www.example.com)
- $requested_file = preg_replace('/https?\:\/\/[^\/]+/i', '', $requested_file);
-
- # Add our requested file var to the array
- $request['file'] = $requested_file;
-
- # Path to the file, relative to the css directory
- $request['relative_file'] = Utils::trim_slashes(str_replace( Utils::trim_slashes(self::config('core.url.css')), '', $requested_file));
-
- # Path to the directory containing the file, relative to the css directory
- $request['relative_dir'] = pathinfo($request['relative_file'], PATHINFO_DIRNAME);
-
- # Otherwise we'll try to find it inside the CSS directory
- $request['path'] = self::find_file($request['relative_dir'], basename($requested_file, '.css'), true, 'css');
-
- # Set the directory
- $request['directory'] = dirname($request['path']);
-
- # If the file doesn't exist
- if(!file_exists($request['path']))
- throw new Scaffold_Exception("Requested CSS file doesn't exist:" . $request['file']);
-
- # or if it's not a css file
- if (!Utils::is_css($requested_file))
- throw new Scaffold_Exception("Requested file isn't a css file: $requested_file" );
-
- # or if the requested file wasn't from the css directory
- if(!substr(pathinfo($request['path'], PATHINFO_DIRNAME), 0, strlen(self::config('core.path.css'))))
- throw new Scaffold_Exception("Requested file wasn't within the CSS directory");
-
- return $request;
- }
-
- /**
- * Loads modules and plugins
- *
- * @param $addons An array of addon names
- * @param $directory The directory to look for these addons in
- * @return void
- */
- private static function load_modules($disabled = array())
- {
- # Get each of the folders inside the Plugins and Modules directories
- $modules = self::list_files('modules');
-
- foreach($modules as $module)
- {
- $name = basename($module);
-
- if(in_array($name, $disabled))
- {
- continue;
- }
-
- # The addon folder
- $folder = $module;
-
- # The controller for the plugin (Optional)
- $controller = Utils::join_path($folder,$name.'.php');
-
- # The config file for the plugin (Optional)
- $config_file = $folder.'/config.php';
-
- # Set the paths in the config
- self::config_set("$name.support", Utils::join_path($folder,'support'));
- self::config_set("$name.libraries", Utils::join_path($folder,'libraries'));
-
- # Include the addon controller
- if(file_exists($controller))
- {
- require_once($controller);
-
- # Any flags this module sets
- call_user_func(array($name,'flag'));
-
- # It's loaded
- self::$loaded_modules[] = $name;
- }
-
- # If there is a config file
- if(file_exists($config_file))
- {
- include $config_file;
-
- foreach($config as $key => $value)
- {
- self::config_set($name.'.'.$key, $value);
- }
-
- unset($config);
- }
- }
- }
-
- /**
- * Output the CSS to the browser
- *
- * @return void
- * @author Anthony Short
- */
- public static function output()
- {
- if (
- isset($_SERVER['HTTP_IF_MODIFIED_SINCE'], $_SERVER['SERVER_PROTOCOL']) &&
- self::config('core.cache.mod_time') <= strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])
- )
- {
- header("{$_SERVER['SERVER_PROTOCOL']} 304 Not Modified");
- exit;
- }
- else
- {
- # Set the default headers
- header('Content-Type: text/css');
- header("Vary: User-Agent, Accept");
- header('Last-Modified: '. gmdate('D, d M Y H:i:s', self::config('core.cache.mod_time')) .' GMT');
-
- echo file_get_contents(self::$cached_file);
- exit;
- }
- }
-
- /**
- * Parse the CSS
- *
- * @return string - The processes css file as a string
- * @author Anthony Short
- */
- public static function parse_css()
- {
- # Start the timer
- Scaffold_Benchmark::start("parse_css");
-
- # Compress it before parsing
- CSS::compress(CSS::$css);
-
- # Import CSS files
- if(class_exists('Import'))
- Import::parse();
-
- if(self::config('core.auto_include_mixins') === true && class_exists('Mixins'))
- {
- # Import the mixins in the plugin/module folders
- Mixins::import_mixins('framework/mixins');
- }
-
- # Parse our css through the plugins
- foreach(self::$loaded_modules as $module)
- {
- call_user_func(array($module,'import_process'));
- }
-
- # Compress it before parsing
- CSS::compress(CSS::$css);
-
- # Parse the constants
- if(class_exists('Constants'))
- Constants::parse();
-
- foreach(self::$loaded_modules as $module)
- {
- call_user_func(array($module,'pre_process'));
- }
-
- # Parse the @grid
- if(class_exists('Layout'))
- Layout::parse_grid();
-
- # Replace the constants
- if(class_exists('Constants'))
- Constants::replace();
-
- # Parse @for loops
- if(class_exists('Iteration'))
- Iteration::parse();
-
- foreach(self::$loaded_modules as $module)
- {
- call_user_func(array($module,'process'));
- }
-
- # Compress it before parsing
- CSS::compress(CSS::$css);
-
- # Parse the mixins
- if(class_exists('Mixins'))
- Mixins::parse();
-
- # Find missing constants
- if(class_exists('Constants'))
- Constants::replace();
-
- # Compress it before parsing
- CSS::compress(CSS::$css);
-
- foreach(self::$loaded_modules as $module)
- {
- call_user_func(array($module,'post_process'));
- }
-
- # Parse the expressions
- if(class_exists('Expression'))
- Expression::parse();
-
- # Parse the nested selectors
- if(class_exists('NestedSelectors'))
- NestedSelectors::parse();
-
- # Convert all url()'s to absolute paths if required
- if(self::config('core.absolute_urls') === true)
- {
- CSS::convert_to_absolute_urls();
- }
-
- # Replaces url()'s that start with ~ to lead to the CSS directory
- CSS::replace_css_urls();
-
- # Add the extra string we've been storing
- CSS::$css .= CSS::$append;
-
- # If they want to minify it
- if(self::config('core.minify_css') === true && class_exists('Minify'))
- {
- Minify::compress();
- }
-
- # Otherwise, we'll make it pretty
- else
- {
- CSS::pretty();
- }
-
- # Formatting hook
- foreach(self::$loaded_modules as $module)
- {
- call_user_func(array($module,'formatting_process'));
- }
-
- # Validate the CSS
- if(class_exists('Validate'))
- Validate::check();
-
- # Stop the timer...
- Scaffold_Benchmark::stop("parse_css");
-
- if (self::config('core.show_header') === TRUE)
- {
- CSS::$css = "/* Processed by CSScaffold on ". gmdate('r') . " in ".Scaffold_Benchmark::get("parse_css", "time")." seconds */\n\n" . CSS::$css;
- }
-
- # Write the css file to the cache
- self::cache_write(CSS::$css,self::$cached_file);
-
- # Output process hook for plugins to display views.
- # Doesn't run in production mode.
- if(self::config('core.in_production') === false)
- {
- foreach(self::$loaded_modules as $module)
- {
- call_user_func(array($module,'output'));
- }
- }
- }
-
- /**
- * Finds a file requested in the CSS
- *
- * @author Anthony Short
- * @param $param
- * @return return type
- */
- public static function find_css_file($path)
- {
- if(isset(self::$internal_cache['find_css_file'][$path]))
- {
- return self::$internal_cache['find_css_file'][$path];
- }
-
- # If the url starts with ~, we'll assume it's from the root of the css directory
- if($path[0] == "~")
- {
- $path = str_replace('~', CSScaffold::config('core.path.css'), $path);
- }
-
- # If they're getting an absolute file
- elseif($path[0] == "/")
- {
- $path = Utils::join_path( CSScaffold::config('core.path.docroot'), $path );
- }
-
- # Otherwise it's relative to the called CSS file
- else
- {
- $path = Utils::join_path( CSScaffold::config('core.request.directory'), $path );
- }
-
- return self::$internal_cache['find_css_file'][$path] = realpath($path);
- }
-
-}
View
131 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/Benchmark.php
@@ -1,131 +0,0 @@
-<?php
-
-/**
- * Simple benchmarking.
- *
- * Slightly hacked version of the Kohana benchmarking class
- *
- * @author Kohana Team
- * @copyright (c) 2007 Kohana Team
- * @license http://kohanaphp.com/license.html
- */
-final class Scaffold_Benchmark
-{
- private static $marks;
-
- /**
- * Set a benchmark start point.
- *
- * @param string benchmark name
- * @return void
- */
- public static function start($name)
- {
- if(!isset(self::$marks[$name]))
- {
- self::$marks[$name] = array();
- }
-
- $mark = array
- (
- 'start' => microtime(TRUE),
- 'stop' => FALSE,
- 'memory_start' => self::memory_usage(),
- 'memory_stop' => FALSE
- );
-
- array_unshift(self::$marks[$name], $mark);
- }
-
- /**
- * Set a benchmark stop point.
- *
- * @param string benchmark name
- * @return void
- */
- public static function stop($name)
- {
- if (isset(self::$marks[$name]) AND self::$marks[$name][0]['stop'] === FALSE)
- {
- self::$marks[$name][0]['stop'] = microtime(TRUE);
- self::$marks[$name][0]['memory_stop'] = self::memory_usage();
- }
- }
-
- /**
- * Get the elapsed time between a start and stop.
- *
- * @param string benchmark name, TRUE for all
- * @param integer number of decimal places to count to
- * @return array
- */
- public static function get($name, $type, $decimals = 4)
- {
- if ($name === TRUE)
- {
- $times = array();
- $names = array_keys(self::$marks);
-
- foreach ($names as $name)
- {
- // Get each mark recursively
- $times[$name] = self::get($name, $decimals);
- }
-
- // Return the array
- return $times;
- }
-
- if ( ! isset(self::$marks[$name]))
- return FALSE;
-
- if (self::$marks[$name][0]['stop'] === FALSE)
- {
- // Stop the benchmark to prevent mis-matched results
- self::stop($name);
- }
-
- // Return a string version of the time between the start and stop points
- // Properly reading a float requires using number_format or sprintf
- $time = $memory = 0;
- for ($i = 0; $i < count(self::$marks[$name]); $i++)
- {
- $time += self::$marks[$name][$i]['stop'] - self::$marks[$name][$i]['start'];
- $memory += self::$marks[$name][$i]['memory_stop'] - self::$marks[$name][$i]['memory_start'];
- }
-
- if ($type = 'time')
- {
- return number_format($time, $decimals);
- }
- elseif($type = "memory")
- {
- return $memory;
- }
- elseif($type = "count")
- {
- return count(self::$marks[$name]);
- }
-
- }
-
- /**
- * Returns the current memory usage. This is only possible if the
- * memory_get_usage function is supported in PHP.
- *
- * @return integer
- */
- public static function memory_usage()
- {
- static $func;
-
- if ($func === NULL)
- {
- // Test if memory usage can be seen
- $func = function_exists('memory_get_usage');
- }
-
- return $func ? memory_get_usage() : 0;
- }
-
-}
View
618 Brief.SkypeChatStyle/Contents/Resources/css-source/scaffold/system/core/CSS.php
@@ -1,618 +0,0 @@
-<?php
-
-/**
- * CSS
- *
- * The CSS object. Has methods for interacting with the CSS string
- * and makes it very easy to find properties and values within the css
- *
- * @author Anthony Short
- */
-class CSS
-{
- /**
- * The CSS string
- *
- * @var string
- */
- public static $css;
-
- /**
- * This string is added to the css at the very end
- * @var string
- */
- public static $append;
-
- /**
- * The constructor
- *
- * @author Anthony Short
- * @param $css
- * @return void
- */
- public static function load($css)
- {
- self::$css = file_get_contents($css);
- }
-
- /**
- * Appends the string to the css string. Setting $later to true will
- * add the string to the css just before caching the CSS file to make
- * the parsing process faster. Do this if the string you're adding doesn't
- * need any more parsing.
- *
- * @author Anthony Short
- * @param $string
- * @return null
- */
- public static function append($string, $later = false)
- {
- if($later === false)
- {
- self::$css .= $string;
- }
- elseif($later === true)
- {
- self::$append .= $string;
- }
- }
-
- /**
- * Makes all URLs absolute in a CSS string
- *
- * @author Anthony Short
- * @return void
- */
- public static function convert_to_absolute_urls($css = "")
- {
- if($css == "") $css =& self::$css;
-
- if($found = self::find_functions('url', '', $css))
- {
- foreach($found[1] as $key => $value)
- {
- $url = Utils::unquote($value);
-
- # Absolute Path
- if($url[0] == "/" || $url[0] == "\\")
- {
- continue;
- }
-
- # Relative Path
- else
- {
- $url = str_replace($_SERVER['document_root'], "/", realpath($url));
- $css = str_replace($value, $url, $css);
- }
- }
- }
- }
-
- /**
- * Compresses down the CSS file. Not a complete compression,
- * but enough to minimize parsing time.
- *
- * @author Anthony Short
- * @return null
- */
- public static function compress(&$css)
- {
- if($css == "") $css =& self::$css;
-
- # Remove comments
- $css = self::remove_comments($css);
-
- # Remove extra white space
- $css = preg_replace('/\s+/', ' ', $css);
-
- # Remove line breaks
- $css = preg_replace('/\n|\r/', '', $css);
- }
-
- /**
- * Replaces a matched string with another matched string.
- * Can be either a direct string replace or a regular expression.
- *
- * @author Anthony Short
- * @param $match The string to match
- * @param $replace Replace the match with this string
- * @param $regex Is it a regular expression
- * @return null
- */
- public static function replace($match, $replace, $regex = false)
- {
- if($regex === true)
- {
- if(self::$css = preg_replace($match, $replace, self::$css))
- {
- return true;
- }
- }
- else
- {
- if(self::$css = str_replace($match, $replace, self::$css))
- {
- return true;
- }
- }
-
- FB::log("CSS::replace - nothing to replace: " . $match);
- }
-
- /**
- * Resolves a path used in the CSS so that the user can use
- * paths like normal css rather than PHP
- *
- * @author Anthony Short
- * @param $path
- * @return string
- */
- public static function resolve_path($path)
- {
- if($path[0] == "/")
- {
- $path = DOCROOT.$path;
- }
- else
- {
- # Join the CSS directory with the requested directory
- $path = join_path(CSSPATH,CSScaffold::config('core.request.relative_dir'),$path);
-