diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index 0e60b7fed5..f1336e582f 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -63,7 +63,56 @@ class Memcached_DataObject extends Safe_DataObject } return $i; } + + function multiGet($cls, $keyCol, $keyVals) + { + $result = array_fill_keys($keyVals, null); + + $toFetch = array(); + + foreach ($keyVals as $keyVal) { + $i = self::getcached($cls, $keyCol, $keyVal); + if ($i !== false) { + $result[$keyVal] = $i; + } else if (!empty($keyVal)) { + $toFetch[] = $keyVal; + } + } + + if (count($toFetch) > 0) { + $i = DB_DataObject::factory($cls); + if (empty($i)) { + throw new Exception(_('Cannot instantiate class ' . $cls)); + } + $i->whereAddIn($keyCol, $toFetch, $i->columnType($keyCol)); + if ($i->find()) { + while ($i->fetch()) { + $copy = clone($i); + $copy->encache(); + $result[$i->$keyCol] = $copy; + } + } + } + + return new ArrayWrapper(array_values($result)); + } + function columnType($columnName) + { + $keys = $this->table(); + if (!array_key_exists($columnName, $keys)) { + throw new Exception('Unknown key column ' . $columnName . ' in ' . join(',', array_keys($keys))); + } + + $def = $keys[$columnName]; + + if ($def & DB_DATAOBJECT_INT) { + return 'integer'; + } else { + return 'string'; + } + } + /** * @fixme Should this return false on lookup fail to match staticGet? */ diff --git a/classes/Notice.php b/classes/Notice.php index 29824ab700..4476798661 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -84,6 +84,11 @@ class Notice extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE + function multiGet($kc, $kvs) + { + return Memcached_DataObject::multiGet('Notice', $kc, $kvs); + } + /* Notice types */ const LOCAL_PUBLIC = 1; const REMOTE_OMB = 0; @@ -1856,7 +1861,11 @@ class Notice extends Memcached_DataObject } else { $idstr = $cache->get(Cache::key('notice:repeats:'.$this->id)); if ($idstr !== false) { - $ids = explode(',', $idstr); + if (empty($idstr)) { + $ids = array(); + } else { + $ids = explode(',', $idstr); + } } else { $ids = $this->_repeatStreamDirect(100); $cache->set(Cache::key('notice:repeats:'.$this->id), implode(',', $ids)); @@ -1885,18 +1894,7 @@ class Notice extends Memcached_DataObject $notice->limit(0, $limit); } - $ids = array(); - - if ($notice->find()) { - while ($notice->fetch()) { - $ids[] = $notice->id; - } - } - - $notice->free(); - $notice = NULL; - - return $ids; + return $notice->fetchAll('id'); } function locationOptions($lat, $lon, $location_id, $location_ns, $profile = null) diff --git a/lib/conversationnoticestream.php b/lib/conversationnoticestream.php index 66075db84f..adf610ffe7 100644 --- a/lib/conversationnoticestream.php +++ b/lib/conversationnoticestream.php @@ -95,14 +95,6 @@ class RawConversationNoticeStream extends NoticeStream Notice::addWhereSinceId($notice, $since_id); Notice::addWhereMaxId($notice, $max_id); - $ids = array(); - - if ($notice->find()) { - while ($notice->fetch()) { - $ids[] = $notice->id; - } - } - - return $ids; + return $notice->fetchAll('id'); } } \ No newline at end of file diff --git a/lib/noticestream.php b/lib/noticestream.php index be28aa6186..e9ff47b68c 100644 --- a/lib/noticestream.php +++ b/lib/noticestream.php @@ -59,42 +59,6 @@ abstract class NoticeStream static function getStreamByIds($ids) { - $cache = Cache::instance(); - - if (!empty($cache)) { - $notices = array(); - foreach ($ids as $id) { - $n = Notice::staticGet('id', $id); - if (!empty($n)) { - $notices[] = $n; - } - } - return new ArrayWrapper($notices); - } else { - $notice = new Notice(); - if (empty($ids)) { - //if no IDs requested, just return the notice object - return $notice; - } - $notice->whereAdd('id in (' . implode(', ', $ids) . ')'); - - $notice->find(); - - $temp = array(); - - while ($notice->fetch()) { - $temp[$notice->id] = clone($notice); - } - - $wrapped = array(); - - foreach ($ids as $id) { - if (array_key_exists($id, $temp)) { - $wrapped[] = $temp[$id]; - } - } - - return new ArrayWrapper($wrapped); - } + return Notice::multiGet('id', $ids); } } diff --git a/plugins/TwitterBridge/README b/plugins/TwitterBridge/README index 10ea35b2b6..cb3369d1d0 100644 --- a/plugins/TwitterBridge/README +++ b/plugins/TwitterBridge/README @@ -75,13 +75,9 @@ Administration panel As of StatusNet 0.9.0 there is a new administration panel that allows you to configure Twitter bridge settings within StatusNet itself, -instead of having to specify them manually in your config.php. To enable -the administration panel, you will need to add it to the list of active -administration panels. You can do this via your config.php. E.g.: +instead of having to specify them manually in your config.php. - $config['admin']['panels'][] = 'twitter'; - -And to access it, you'll need to use a user with the "administrator" +To access it, you'll need to use a user with the "administrator" role (see: scripts/userrole.php). Sign in with Twitter diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php index 6ac742f22f..b37d01274d 100644 --- a/plugins/TwitterBridge/TwitterBridgePlugin.php +++ b/plugins/TwitterBridge/TwitterBridgePlugin.php @@ -287,6 +287,18 @@ class TwitterBridgePlugin extends Plugin return true; } + /** + * If the plugin's installed, this should be accessible to admins + */ + function onAdminPanelCheck($name, &$isOK) + { + if ($name == 'twitter') { + $isOK = true; + return false; + } + return true; + } + /** * Add a Twitter tab to the admin panel * diff --git a/theme/neo-blue/css/display.css b/theme/neo-blue/css/display.css new file mode 100644 index 0000000000..ace3e15f4c --- /dev/null +++ b/theme/neo-blue/css/display.css @@ -0,0 +1,77 @@ +/** theme: neo-blue + * + * @package StatusNet + * @author Samantha Doherty + * @copyright 2011 StatusNet, Inc. + * @license http://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 Unported + * @link http://status.net/ + */ + +@media screen, projection, tv { + +body { + background: #7e89a4; +} + +#wrap { + border: none; + padding: 0px 10px; + box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.7); + -moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.7); + -webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.7); + background: #fff; +} + +#header { + padding-top: 7px; +} + +address { + left: 5px; +} + +#site_nav_global_primary { + top: 0px; + right: -14px; + padding-top: 5px; + height: 30px; + width: 986px; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.7); + -moz-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.7); + -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.7); + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; + z-index: 98; + border-bottom: 1px solid #fff; + border-left: 1px solid #516499; + border-right: 1px solid #516499; +} + +#site_nav_global_primary a:hover { + background: #4c619c; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +#site_notice { + margin: 45px 0px 0px 0px; + background-color: #f2f2f2; /* XXX */ +} + +#core { + border-top: none; + margin-top: 3px; +} + +.input_forms { + background-color: #fff; + left: 0px; + padding: 18px 0px 0px 0px; +} + +}/*end of @media screen, projection, tv*/ diff --git a/theme/neo-blue/css/mp-screen.css b/theme/neo-blue/css/mp-screen.css new file mode 100644 index 0000000000..87f8f298f8 --- /dev/null +++ b/theme/neo-blue/css/mp-screen.css @@ -0,0 +1,463 @@ +/* mobile style */ + +body { + background-image: none; + min-width: 0; +} + +#wrap { + margin: 0; + padding: 0; + min-width:0; + max-width:100%; + width: auto; + border: none; +} + +#header { + width: 100%; + padding: 0; +} + +address { + float:left; + margin: 0px; + width: auto; + left: 0px; +} + +address img { + float: left; + background: #fff; + padding: 2px 2px 2px 6px; +} + +address img + .fn { + display:block; + margin-top: 8px; + clear: left; + float: left; + color: #000; + margin-left: 6px; +} + +#site_nav_global_primary { + margin:0; + width: 100%; + padding: 2px 0; + height: auto; + position:absolute; + top:0; + left:0; + font-size: 1em; + letter-spacing: 0em; + border-top: none; + -webkit-border-top-right-radius: 0px; + -moz-border-radius-topright: 0px; + border-top-right-radius: 0px; + height: 24px; + line-height: 16px; +} + +#site_nav_global_primary li { + margin-left:0; + margin-right: 2px; + float:left; + font-size:0.9em; + padding: 2px 4px; + line-height: 1em; + height: auto; +} + +#site_nav_global_primary li:last-child { + margin-right: 0px; +} + +#site_nav_global_primary a { + padding: 2px 4px; + height: 20px; +} + +#core { + width: 100%; + border-left: none; + border-right: none; +} + +#aside_primary_wrapper { + background: none; +} + +#content_wrapper { + right: 0px; + border: none; +} + +#site_nav_local_views_wrapper { + right: 0px; + border: none; +} + +#navtoggle { + float: right; + padding: 2px 6px; + text-decoration: none; +} + +#site_nav_local_views { + height: auto; + font-size: 1em; + line-height: 2em; + margin-bottom: 0px; + padding: 10px 0px 10px 6px; + background: none; + left: 0px; + width: 100%; + display: none; +} + +#site_nav_local_views h3 { + color: #333; + font-size: 1em; + margin-bottom: 0px; + background: none; + text-transform: none; + letter-spacing: 0; + padding-bottom: 0; +} + +#site_nav_local_views li { + margin-right: 6px; + margin-bottom: 0px; + clear: left; +} + +#site_nav_local_views li li { + float: left; + clear: none; + margin-bottom: 6px; +} + +#site_nav_local_views a { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);; + background: #364a84; + background: -moz-linear-gradient(top, #7b8dbb , #364a84); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7b8dbb), color-stop(100%,#364a84)); + font-size: 0.9em; + width: auto; +} + +#site_nav_local_views a:hover { + background: #7b8dbb; + background: -moz-linear-gradient(top, #364a84 , #7b8dbb); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#364a84), color-stop(100%,#7b8dbb)); +} + +#login #site_nav_local_views, #register #site_nav_local_views, #openidlogin #site_nav_local_views { + display: block; + margin-top: 25px; +} + +#login #navtoggle, #register #navtoggle, #openidlogin #navtoggle { + display: none; +} + +#login #site_nav_local_views li, #register #site_nav_local_views li, #openidlogin #site_nav_local_views li { + float: left; + clear: none; + margin-bottom: 6px; +} + +#content { + width: 96%; + padding: 10px 2%; + margin: 0; + min-height: auto; + left: 0px; +} + +#content h1 { + clear: left; +} + +#footer { + width: auto; + margin: 0; + padding: 10px 4px 4px 4px; +} + +.input_forms { + display: block; + width: 102%; + top: -10px; + left: -2%; + padding-left: 2%; + padding-right: 0; +} + +#input_form_nav li a { + padding: 0px 4px 1px 4px; + margin-right: 6px; +} + +.input_form { + clear: left; + width: 100%; + padding-bottom: 0px; +} + +#input_form_status, #input_form_direct { + padding-bottom: 40px; +} + +.form_notice_placeholder .placeholder { + width: 290px; + margin-bottom: 20px; +} + +.form_notice { + float: left; + margin-left: 0px; + width: 300px; + padding: 4px 0px; +} + +#form_notice-direct.form_notice { + padding-top: 0px; +} + +.form_notice textarea, #form_notice-direct.form_notice textarea { + width: 292px; + height: 36px; + padding: 4px 4px 16px 4px; + font-size: 1em; +} + +.form_notice .count { + position: absolute; + top: 44px; + left: 270px; +} + +#form_notice-direct.form_notice .count { + top: 70px; + left: 270px; +} + +.form_notice .error, +.form_notice .success, +.form_notice .notice-status { + width: 285px; +} + + +/*input type=file no good in +iPhone/iPod Touch, Android, Opera Mini Simulator +*/ + +.form_notice .notice_data-attach, .form_notice .notice_data-geo_wrap label, .form_notice .notice_data-geo_wrap input { + display:none; +} + +.checkbox-wrapper { + margin-left: 0px; + clear: left; + float: left; + width: 200px; + z-index: 2; +} + +.form_notice .checkbox-wrapper { + display: inline; + margin-left: 0px; +} + +.checkbox-wrapper label.checkbox { + display: none !important; +} + +.checkbox-wrapper #notice_private { + display: inline; + margin-top: 10px; + margin-left: 20px; +} + +.form_notice .checkbox-wrapper #notice_private { + margin-left: 0px; +} + +.checkbox-wrapper:before { + content: "Send privately?"; +} + +.input_form fieldset fieldset { + width: 300px; +} + +.input_form .form_settings label { + display: inline; +} + +.input_form .form_settings li input { + width: 292px; +} + +.input_form .form_settings li textarea { + width: 292px; +} + +.bookmarkform-thumbnail { + display: none; +} + +#event-startdate, #event-starttime, #event-enddate, #event-endtime { + width: 120px; + margin-right: 12px; +} + +.input_form .form_settings .submit { + font-size: 1em; + margin: 10px 0; + clear: left; + float: left; +} + +.form_notice #notice_action-submit { + text-align: center; + left: 0px; + top: 100%; + margin-top: -45px; + width: 80px; + font-size: 1em; +} + +#form_notice-direct.form_notice #notice_action-submit { + top: 148px; +} + +.threaded-replies { + width: 80%; + margin-left: 59px; +} + +#content .notice .threaded-replies .notice { + width: 95%; +} + +.threaded-replies .placeholder { + margin: 10px; + width: 92%; +} + +.threaded-replies .form_notice { + margin-bottom: 10px; +} + +.threaded-replies .form_notice textarea { + width: 220px; +} + +.threaded-replies .form_notice .count { + left: 205px; + top: 53px; +} + +.threaded-replies .form_notice #notice_action-submit { + position: relative; + top: 0; + bottom: 0px; + left: 0; + margin-top: 10px; +} + +.threaded-replies .form_notice .error, +.threaded-replies .form_notice .success, +.threaded-replies .form_notice .notice-status { + width: 210px; +} + +.form_settings fieldset { +margin-bottom:7px; +} + +.form_settings label { +width:auto; +display:block; +float:none; + text-align: left; +} + +.form_settings .form_data li { +margin-bottom:7px; +} + +.form_settings .form_data textarea, +.form_settings .form_data select, +.form_settings .form_data input { +margin-left:0; +display:block; +} +.form_settings .form_data textarea { +width:96.41%; +} + +.form_settings .form_data label { +float:none; +} + +.form_settings .form_data p.form_guide { +width:auto; +margin-left:0 !important; +} + +#settings_design_color .form_data { + width: auto; + margin-right: 0; +} + +.form_settings input.checkbox, .form_settings input.radio { + left: 0px; +} + +.form_settings label.checkbox, .form_settings label.radio { + left: -10px; +} + +.notice .addressees:before { + content: '\003E'; +} + +.user_in .notice div.entry-content { + max-width: 150px; +} + +ul.qna-dummy { + width: 80%; +} + +.qna-dummy-placeholder input { + width: 92%; +} + +.question #qna-answer, .qna-full-question #qna-answer { + width: 220px; +} + +.threaded-replies #answer-form fieldset { + width: 220px; +} + +.threaded-replies #qna-answer-submit { + float: left; + clear: left; + position: relative; + top: 0; + bottom: 0px; + left: 0; + margin-top: 10px; +} + +a.company_logo { + display: none !important; +} diff --git a/theme/neo-blue/default-avatar-mini.png b/theme/neo-blue/default-avatar-mini.png new file mode 100644 index 0000000000..3f3f026ab7 Binary files /dev/null and b/theme/neo-blue/default-avatar-mini.png differ diff --git a/theme/neo-blue/default-avatar-profile.png b/theme/neo-blue/default-avatar-profile.png new file mode 100644 index 0000000000..f9addc06b4 Binary files /dev/null and b/theme/neo-blue/default-avatar-profile.png differ diff --git a/theme/neo-blue/default-avatar-stream.png b/theme/neo-blue/default-avatar-stream.png new file mode 100644 index 0000000000..e542854e77 Binary files /dev/null and b/theme/neo-blue/default-avatar-stream.png differ diff --git a/theme/neo-blue/logo.png b/theme/neo-blue/logo.png new file mode 100644 index 0000000000..a3c1be35f5 Binary files /dev/null and b/theme/neo-blue/logo.png differ diff --git a/theme/neo-blue/mobilelogo.png b/theme/neo-blue/mobilelogo.png new file mode 100644 index 0000000000..cd2e0e7f16 Binary files /dev/null and b/theme/neo-blue/mobilelogo.png differ diff --git a/theme/neo-blue/theme.ini b/theme/neo-blue/theme.ini new file mode 100644 index 0000000000..8bdec29d25 --- /dev/null +++ b/theme/neo-blue/theme.ini @@ -0,0 +1 @@ +include=neo diff --git a/theme/neo-light/css/display.css b/theme/neo-light/css/display.css new file mode 100644 index 0000000000..624797f6f8 --- /dev/null +++ b/theme/neo-light/css/display.css @@ -0,0 +1,44 @@ +/** theme: neo-light + * + * @package StatusNet + * @author Samantha Doherty + * @copyright 2011 StatusNet, Inc. + * @license http://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 Unported + * @link http://status.net/ + */ + +@media screen, projection, tv { + +body { + background: #f0f2f5; +} + +#wrap { + background-color: #f0f2f5; + border: none; +} + +#aside_primary_wrapper { + background-color: #fafafa; +} + +#content_wrapper { + border-right: 1px solid #fff; +} + +#site_nav_local_views_wrapper { + background-color: #fafafa; + border-right: 1px solid #fff; +} + +#site_notice { + background: #fff; +} + +.input_forms { + background-color: #fff; + left: 0px; + padding: 18px 0px 0px 0px; +} + +}/*end of @media screen, projection, tv*/ diff --git a/theme/neo-light/css/mp-screen.css b/theme/neo-light/css/mp-screen.css new file mode 100644 index 0000000000..87f8f298f8 --- /dev/null +++ b/theme/neo-light/css/mp-screen.css @@ -0,0 +1,463 @@ +/* mobile style */ + +body { + background-image: none; + min-width: 0; +} + +#wrap { + margin: 0; + padding: 0; + min-width:0; + max-width:100%; + width: auto; + border: none; +} + +#header { + width: 100%; + padding: 0; +} + +address { + float:left; + margin: 0px; + width: auto; + left: 0px; +} + +address img { + float: left; + background: #fff; + padding: 2px 2px 2px 6px; +} + +address img + .fn { + display:block; + margin-top: 8px; + clear: left; + float: left; + color: #000; + margin-left: 6px; +} + +#site_nav_global_primary { + margin:0; + width: 100%; + padding: 2px 0; + height: auto; + position:absolute; + top:0; + left:0; + font-size: 1em; + letter-spacing: 0em; + border-top: none; + -webkit-border-top-right-radius: 0px; + -moz-border-radius-topright: 0px; + border-top-right-radius: 0px; + height: 24px; + line-height: 16px; +} + +#site_nav_global_primary li { + margin-left:0; + margin-right: 2px; + float:left; + font-size:0.9em; + padding: 2px 4px; + line-height: 1em; + height: auto; +} + +#site_nav_global_primary li:last-child { + margin-right: 0px; +} + +#site_nav_global_primary a { + padding: 2px 4px; + height: 20px; +} + +#core { + width: 100%; + border-left: none; + border-right: none; +} + +#aside_primary_wrapper { + background: none; +} + +#content_wrapper { + right: 0px; + border: none; +} + +#site_nav_local_views_wrapper { + right: 0px; + border: none; +} + +#navtoggle { + float: right; + padding: 2px 6px; + text-decoration: none; +} + +#site_nav_local_views { + height: auto; + font-size: 1em; + line-height: 2em; + margin-bottom: 0px; + padding: 10px 0px 10px 6px; + background: none; + left: 0px; + width: 100%; + display: none; +} + +#site_nav_local_views h3 { + color: #333; + font-size: 1em; + margin-bottom: 0px; + background: none; + text-transform: none; + letter-spacing: 0; + padding-bottom: 0; +} + +#site_nav_local_views li { + margin-right: 6px; + margin-bottom: 0px; + clear: left; +} + +#site_nav_local_views li li { + float: left; + clear: none; + margin-bottom: 6px; +} + +#site_nav_local_views a { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);; + background: #364a84; + background: -moz-linear-gradient(top, #7b8dbb , #364a84); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7b8dbb), color-stop(100%,#364a84)); + font-size: 0.9em; + width: auto; +} + +#site_nav_local_views a:hover { + background: #7b8dbb; + background: -moz-linear-gradient(top, #364a84 , #7b8dbb); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#364a84), color-stop(100%,#7b8dbb)); +} + +#login #site_nav_local_views, #register #site_nav_local_views, #openidlogin #site_nav_local_views { + display: block; + margin-top: 25px; +} + +#login #navtoggle, #register #navtoggle, #openidlogin #navtoggle { + display: none; +} + +#login #site_nav_local_views li, #register #site_nav_local_views li, #openidlogin #site_nav_local_views li { + float: left; + clear: none; + margin-bottom: 6px; +} + +#content { + width: 96%; + padding: 10px 2%; + margin: 0; + min-height: auto; + left: 0px; +} + +#content h1 { + clear: left; +} + +#footer { + width: auto; + margin: 0; + padding: 10px 4px 4px 4px; +} + +.input_forms { + display: block; + width: 102%; + top: -10px; + left: -2%; + padding-left: 2%; + padding-right: 0; +} + +#input_form_nav li a { + padding: 0px 4px 1px 4px; + margin-right: 6px; +} + +.input_form { + clear: left; + width: 100%; + padding-bottom: 0px; +} + +#input_form_status, #input_form_direct { + padding-bottom: 40px; +} + +.form_notice_placeholder .placeholder { + width: 290px; + margin-bottom: 20px; +} + +.form_notice { + float: left; + margin-left: 0px; + width: 300px; + padding: 4px 0px; +} + +#form_notice-direct.form_notice { + padding-top: 0px; +} + +.form_notice textarea, #form_notice-direct.form_notice textarea { + width: 292px; + height: 36px; + padding: 4px 4px 16px 4px; + font-size: 1em; +} + +.form_notice .count { + position: absolute; + top: 44px; + left: 270px; +} + +#form_notice-direct.form_notice .count { + top: 70px; + left: 270px; +} + +.form_notice .error, +.form_notice .success, +.form_notice .notice-status { + width: 285px; +} + + +/*input type=file no good in +iPhone/iPod Touch, Android, Opera Mini Simulator +*/ + +.form_notice .notice_data-attach, .form_notice .notice_data-geo_wrap label, .form_notice .notice_data-geo_wrap input { + display:none; +} + +.checkbox-wrapper { + margin-left: 0px; + clear: left; + float: left; + width: 200px; + z-index: 2; +} + +.form_notice .checkbox-wrapper { + display: inline; + margin-left: 0px; +} + +.checkbox-wrapper label.checkbox { + display: none !important; +} + +.checkbox-wrapper #notice_private { + display: inline; + margin-top: 10px; + margin-left: 20px; +} + +.form_notice .checkbox-wrapper #notice_private { + margin-left: 0px; +} + +.checkbox-wrapper:before { + content: "Send privately?"; +} + +.input_form fieldset fieldset { + width: 300px; +} + +.input_form .form_settings label { + display: inline; +} + +.input_form .form_settings li input { + width: 292px; +} + +.input_form .form_settings li textarea { + width: 292px; +} + +.bookmarkform-thumbnail { + display: none; +} + +#event-startdate, #event-starttime, #event-enddate, #event-endtime { + width: 120px; + margin-right: 12px; +} + +.input_form .form_settings .submit { + font-size: 1em; + margin: 10px 0; + clear: left; + float: left; +} + +.form_notice #notice_action-submit { + text-align: center; + left: 0px; + top: 100%; + margin-top: -45px; + width: 80px; + font-size: 1em; +} + +#form_notice-direct.form_notice #notice_action-submit { + top: 148px; +} + +.threaded-replies { + width: 80%; + margin-left: 59px; +} + +#content .notice .threaded-replies .notice { + width: 95%; +} + +.threaded-replies .placeholder { + margin: 10px; + width: 92%; +} + +.threaded-replies .form_notice { + margin-bottom: 10px; +} + +.threaded-replies .form_notice textarea { + width: 220px; +} + +.threaded-replies .form_notice .count { + left: 205px; + top: 53px; +} + +.threaded-replies .form_notice #notice_action-submit { + position: relative; + top: 0; + bottom: 0px; + left: 0; + margin-top: 10px; +} + +.threaded-replies .form_notice .error, +.threaded-replies .form_notice .success, +.threaded-replies .form_notice .notice-status { + width: 210px; +} + +.form_settings fieldset { +margin-bottom:7px; +} + +.form_settings label { +width:auto; +display:block; +float:none; + text-align: left; +} + +.form_settings .form_data li { +margin-bottom:7px; +} + +.form_settings .form_data textarea, +.form_settings .form_data select, +.form_settings .form_data input { +margin-left:0; +display:block; +} +.form_settings .form_data textarea { +width:96.41%; +} + +.form_settings .form_data label { +float:none; +} + +.form_settings .form_data p.form_guide { +width:auto; +margin-left:0 !important; +} + +#settings_design_color .form_data { + width: auto; + margin-right: 0; +} + +.form_settings input.checkbox, .form_settings input.radio { + left: 0px; +} + +.form_settings label.checkbox, .form_settings label.radio { + left: -10px; +} + +.notice .addressees:before { + content: '\003E'; +} + +.user_in .notice div.entry-content { + max-width: 150px; +} + +ul.qna-dummy { + width: 80%; +} + +.qna-dummy-placeholder input { + width: 92%; +} + +.question #qna-answer, .qna-full-question #qna-answer { + width: 220px; +} + +.threaded-replies #answer-form fieldset { + width: 220px; +} + +.threaded-replies #qna-answer-submit { + float: left; + clear: left; + position: relative; + top: 0; + bottom: 0px; + left: 0; + margin-top: 10px; +} + +a.company_logo { + display: none !important; +} diff --git a/theme/neo-light/default-avatar-mini.png b/theme/neo-light/default-avatar-mini.png new file mode 100644 index 0000000000..3f3f026ab7 Binary files /dev/null and b/theme/neo-light/default-avatar-mini.png differ diff --git a/theme/neo-light/default-avatar-profile.png b/theme/neo-light/default-avatar-profile.png new file mode 100644 index 0000000000..f9addc06b4 Binary files /dev/null and b/theme/neo-light/default-avatar-profile.png differ diff --git a/theme/neo-light/default-avatar-stream.png b/theme/neo-light/default-avatar-stream.png new file mode 100644 index 0000000000..e542854e77 Binary files /dev/null and b/theme/neo-light/default-avatar-stream.png differ diff --git a/theme/neo-light/logo.png b/theme/neo-light/logo.png new file mode 100644 index 0000000000..3891979530 Binary files /dev/null and b/theme/neo-light/logo.png differ diff --git a/theme/neo-light/mobilelogo.png b/theme/neo-light/mobilelogo.png new file mode 100644 index 0000000000..cd2e0e7f16 Binary files /dev/null and b/theme/neo-light/mobilelogo.png differ diff --git a/theme/neo-light/theme.ini b/theme/neo-light/theme.ini new file mode 100644 index 0000000000..8bdec29d25 --- /dev/null +++ b/theme/neo-light/theme.ini @@ -0,0 +1 @@ +include=neo diff --git a/theme/neo/css/display.css b/theme/neo/css/display.css index 9c33fe65fb..e23f64e557 100644 --- a/theme/neo/css/display.css +++ b/theme/neo/css/display.css @@ -895,7 +895,7 @@ ul.bookmark-tags a:hover { #aside_primary #onboard_section { background: #f2f2f2; - width: 198px; + width: 196px; padding: 10px; border-radius: 4px; -moz-border-radius: 4px; diff --git a/theme/neo/css/mp-screen.css b/theme/neo/css/mp-screen.css index 578736810e..87f8f298f8 100644 --- a/theme/neo/css/mp-screen.css +++ b/theme/neo/css/mp-screen.css @@ -182,6 +182,7 @@ address img + .fn { } #footer { + width: auto; margin: 0; padding: 10px 4px 4px 4px; } @@ -456,3 +457,7 @@ ul.qna-dummy { left: 0; margin-top: 10px; } + +a.company_logo { + display: none !important; +}