diff options
-rw-r--r-- | actions/designsettings.php | 36 | ||||
-rw-r--r-- | config.php.sample | 395 | ||||
-rw-r--r-- | js/farbtastic/farbtastic.go.js | 12 | ||||
-rw-r--r-- | lib/common.php | 2 | ||||
-rw-r--r-- | theme/base/css/display.css | 11 | ||||
-rw-r--r-- | theme/default/css/display.css | 7 |
6 files changed, 237 insertions, 226 deletions
diff --git a/actions/designsettings.php b/actions/designsettings.php index 0deb3f684..a85b36a25 100644 --- a/actions/designsettings.php +++ b/actions/designsettings.php @@ -82,7 +82,16 @@ class DesignsettingsAction extends AccountSettingsAction $this->element('legend', null, _('Change background image')); $this->elementStart('ul', 'form_data'); $this->elementStart('li'); - $this->element('p', null, _('Upload background image')); + $this->element('label', array('for' => 'design_ background-image_file'), + _('Upload file')); + $this->element('input', array('name' => 'design_background-image_file', + 'type' => 'file', + 'id' => 'design_background-image_file')); + $this->element('p', 'form_guide', _('You can upload your personal background image. The maximum file size is 2Mb.')); + $this->element('input', array('name' => 'MAX_FILE_SIZE', + 'type' => 'hidden', + 'id' => 'MAX_FILE_SIZE', + 'value' => ImageFile::maxFileSizeInt())); $this->elementEnd('li'); $this->elementEnd('ul'); $this->elementEnd('fieldset'); @@ -108,15 +117,22 @@ class DesignsettingsAction extends AccountSettingsAction $userSwatch = ($userSwatch) ? json_decode($userSwatch, true) : $defaultSwatch; $s = 0; - $labelSwatch = array('Background color', - 'Content background color', - 'Sidebar background color', - 'Text color', - 'Link color'); + $labelSwatch = array('Background', + 'Content', + 'Sidebar', + 'Text', + 'Links'); foreach($userSwatch as $propertyvalue => $value) { - $foo = array_values($value); //Is this necessary? $value[0] doesn't work because of invalid key + $foo = array_values($value); $this->elementStart('li'); - $this->input("swatch-".$s, $labelSwatch[$s], $foo[0]); + $this->element('label', array('for' => 'swatch-'.$s), _($labelSwatch[$s])); + $this->element('input', array('name' => 'swatch-'.$s, //prefer swatch[$s] ? + 'type' => 'text', + 'id' => 'swatch-'.$s, + 'class' => 'swatch', + 'maxlength' => '7', + 'size' => '7', + 'value' => $foo[0])); $this->elementEnd('li'); $s++; } @@ -125,6 +141,10 @@ class DesignsettingsAction extends AccountSettingsAction $this->elementEnd('fieldset'); $this->submit('save', _('Save')); + $this->element('input', array('type' => 'reset', + 'value' => 'Reset', + 'class' => 'form_action-secondary')); + /*TODO: Check submitted form values: json_encode(form values) if submitted Swatch == DefaultSwatch, don't store in DB. diff --git a/config.php.sample b/config.php.sample index 826b086a3..4f438dc5e 100644 --- a/config.php.sample +++ b/config.php.sample @@ -3,219 +3,206 @@ if (!defined('LACONICA')) { exit(1); } -#If you have downloaded libraries in random little places, you -#can add the paths here +// If you have downloaded libraries in random little places, you +// can add the paths here -#$extra_path = array("/opt/php-openid-2.0.1", "/usr/local/share/php"); -#set_include_path(implode(PATH_SEPARATOR, $extra_path) . PATH_SEPARATOR . get_include_path()); +// $extra_path = array("/opt/php-openid-2.0.1", "/usr/local/share/php"); +// set_include_path(implode(PATH_SEPARATOR, $extra_path) . PATH_SEPARATOR . get_include_path()); -# We get called by common.php, $config is a tree with lots of config -# options -# These are for configuring your URLs +// We get called by common.php, $config is a tree with lots of config +// options +// These are for configuring your URLs $config['site']['name'] = 'Just another Laconica microblog'; $config['site']['server'] = 'localhost'; $config['site']['path'] = 'laconica'; -#$config['site']['fancy'] = false; -#$config['site']['theme'] = 'default'; -#To enable the built-in mobile style sheet, defaults to false. -#$config['site']['mobile'] = true; -#For contact email, defaults to $_SERVER["SERVER_ADMIN"] -#$config['site']['email'] = 'admin@example.net'; -#Brought by... -#$config['site']['broughtby'] = 'Individual or Company'; -#$config['site']['broughtbyurl'] = 'http://example.net/'; -#If you don't want to let users register (say, for a one-person install) -#Crude but effective -- register everybody, then lock down -#$config['site']['closed'] = true; -#Only allow registration for people invited by another user -#$config['site']['inviteonly'] = true; -#Make the site invisible to non-logged-in users -#$config['site']['private'] = true; - -# 'direct' for direct notice links in sections -# 'attachment' for notice attachment links in sections -# left undefined, no link is showed -#$config['site']['notice_link'] = 'attachment'; -#$config['site']['notice_link'] = 'direct'; - -# If you want logging sent to a file instead of syslog -#$config['site']['logfile'] = '/tmp/laconica.log'; - -# Enables extra log information, for example full details of PEAR DB errors -#$config['site']['logdebug'] = true; - -#To set your own logo, overriding the one in the theme -#$config['site']['logo'] = '/mylogo.png'; - -# This is a PEAR DB DSN, see http://pear.php.net/manual/en/package.database.db.intro-dsn.php -# Set it to match your actual database +// $config['site']['fancy'] = false; +// $config['site']['theme'] = 'default'; +// To enable the built-in mobile style sheet, defaults to false. +// $config['site']['mobile'] = true; +// For contact email, defaults to $_SERVER["SERVER_ADMIN"] +// $config['site']['email'] = 'admin@example.net'; +// Brought by... +// $config['site']['broughtby'] = 'Individual or Company'; +// $config['site']['broughtbyurl'] = 'http://example.net/'; +// If you don't want to let users register (say, for a one-person install) +// Crude but effective -- register everybody, then lock down +// $config['site']['closed'] = true; +// Only allow registration for people invited by another user +// $config['site']['inviteonly'] = true; +// Make the site invisible to non-logged-in users +// $config['site']['private'] = true; + +// If you want logging sent to a file instead of syslog +// $config['site']['logfile'] = '/tmp/laconica.log'; + +// Enables extra log information, for example full details of PEAR DB errors +// $config['site']['logdebug'] = true; + +// To set your own logo, overriding the one in the theme +// $config['site']['logo'] = '/mylogo.png'; + +// This is a PEAR DB DSN, see http://pear.php.net/manual/en/package.database.db.intro-dsn.php +// Set it to match your actual database $config['db']['database'] = 'mysql://laconica:microblog@localhost/laconica'; -#$config['db']['ini_your_db_name'] = $config['db']['schema_location'].'/laconica.ini'; -# *** WARNING *** WARNING *** WARNING *** WARNING *** -# Setting debug to a non-zero value will expose your DATABASE PASSWORD to Web users. -# !!!!!! DO NOT SET THIS ON PRODUCTION SERVERS !!!!!! DB_DataObject's bug, btw, not -# ours. -# *** WARNING *** WARNING *** WARNING *** WARNING *** -#$config['db']['debug'] = 0; -#$config['db']['db_driver'] = 'MDB2'; - -#Database type. For mysql, these defaults are fine. For postgresql, set -#'quote_identifiers' to true and 'type' to 'pgsql': -#$config['db']['quote_identifiers'] = false; -#$config['db']['type'] = 'mysql'; - -#session_set_cookie_params(0, '/'. $config['site']['path'] .'/'); - -#Standard fancy-url clashes prevented by not allowing nicknames on a blacklist -#Add your own here. Note: empty array by default -#$config['nickname']['blacklist'][] = 'scobleizer'; - -# sphinx search +// $config['db']['ini_your_db_name'] = $config['db']['schema_location'].'/laconica.ini'; +// *** WARNING *** WARNING *** WARNING *** WARNING *** +// Setting debug to a non-zero value will expose your DATABASE PASSWORD to Web users. +// !!!!!! DO NOT SET THIS ON PRODUCTION SERVERS !!!!!! DB_DataObject's bug, btw, not +// ours. +// *** WARNING *** WARNING *** WARNING *** WARNING *** +// $config['db']['debug'] = 0; +// $config['db']['db_driver'] = 'MDB2'; + +// Database type. For mysql, these defaults are fine. For postgresql, set +// 'quote_identifiers' to true and 'type' to 'pgsql': +// $config['db']['quote_identifiers'] = false; +// $config['db']['type'] = 'mysql'; + +// session_set_cookie_params(0, '/'. $config['site']['path'] .'/'); + +// Standard fancy-url clashes prevented by not allowing nicknames on a blacklist +// Add your own here. Note: empty array by default +// $config['nickname']['blacklist'][] = 'scobleizer'; + +// sphinx search $config['sphinx']['enabled'] = false; $config['sphinx']['server'] = 'localhost'; $config['sphinx']['port'] = 3312; -# Users to populate the 'Featured' tab -#$config['nickname']['featured'][] = 'scobleizer'; - -# xmpp -#$config['xmpp']['enabled'] = false; -#$config['xmpp']['server'] = 'server.example.net'; -#$config['xmpp']['host'] = NULL; # Only set if different from server -#$config['xmpp']['port'] = 5222; -#$config['xmpp']['user'] = 'update'; -#$config['xmpp']['encryption'] = false; -#$config['xmpp']['resource'] = 'uniquename'; -#$config['xmpp']['password'] = 'blahblahblah'; -#$config['xmpp']['public'][] = 'someindexer@example.net'; -#$config['xmpp']['debug'] = false; - -#Default locale info -#$config['site']['timezone'] = 'Pacific/Auckland'; -#$config['site']['language'] = 'en_NZ'; - -#Email info, used for all outbound email -#$config['mail']['notifyfrom'] = 'microblog@example.net'; -#$config['mail']['domain'] = 'microblog.example.net'; -# See http://pear.php.net/manual/en/package.mail.mail.factory.php for options -#$config['mail']['backend'] = 'smtp'; -#$config['mail']['params'] = array( -# 'host' => 'localhost', -# 'port' => 25, -# ); -#For incoming email, if enabled. Defaults to site server name. -#$config['mail']['domain'] = 'incoming.example.net'; - -#exponential decay factor for tags, default 10 days -#raise this if traffic is slow, lower it if it's fast -#$config['tag']['dropoff'] = 86400.0 * 10; - -#exponential decay factor for popular (most favorited notices) -#default 10 days -- similar to tag dropoff -#$config['popular']['dropoff'] = 86400.0 * 10; - -#optionally show non-local messages in public timeline -#$config['public']['localonly'] = false; - -#hide certain users from public pages, by ID -#$config['public']['blacklist'][] = 123; -#$config['public']['blacklist'][] = 2307; - -#Mark certain notice sources as automatic and thus not -#appropriate for public feed -#$config['public]['autosource'][] = 'twitterfeed'; -#$config['public]['autosource'][] = 'rssdent'; -#$config['public]['autosource'][] = 'Ping.Fm'; -#$config['public]['autosource'][] = 'HelloTxt'; -#$config['public]['autosource'][] = 'Updating.Me'; - -#Do notice broadcasts offline -#If you use this, you must run the six offline daemons in the -#background. See the README for details. -#$config['queue']['enabled'] = true; - -#Queue subsystem -#subsystems: internal (default) or stomp -#using stomp requires an external message queue server -#$config['queue']['subsystem'] = 'stomp'; -#$config['queue']['stomp_server'] = 'tcp://localhost:61613'; -#use different queue_basename for each laconica instance managed by the server -#$config['queue']['queue_basename'] = 'laconica'; - -#The following customise the behaviour of the various daemons: -#$config['daemon']['piddir'] = '/var/run'; -#$config['daemon']['user'] = false; -#$config['daemon']['group'] = false; - -#For installations with high traffic, laconica can use MemCached to cache -#frequently requested information. Only enable the following if you have -#MemCached up and running: -#$config['memcached']['enabled'] = false; -#$config['memcached']['server'] = 'localhost'; -#$config['memcached']['port'] = 11211; - -# Enable bidirectional Twitter bridge -#$config['twitterbridge']['enabled'] = true; - -#Twitter integration source attribute. Note: default is Laconica -#$config['integration']['source'] = 'Laconica'; - -# Edit throttling. Off by default. If turned on, you can only post 20 notices -# every 10 minutes. Admins may want to play with the settings to minimize inconvenience for -# real users without getting uncontrollable floods from spammers or runaway bots. - -#$config['throttle']['enabled'] = true; -#$config['throttle']['count'] = 100; -#$config['throttle']['timespan'] = 3600; - -# List of users banned from posting (nicknames and/or IDs) -#$config['profile']['banned'][] = 'hacker'; -#$config['profile']['banned'][] = 12345; - -# Config section for the built-in Facebook application -#$config['facebook']['apikey'] = 'APIKEY'; -#$config['facebook']['secret'] = 'SECRET'; - -# Facebook Connect plugin (Needs valid APIKEY above) -#require_once(INSTALLDIR.'/plugins/FBConnect/FBConnectPlugin.php'); -#$fbc = new FBConnectPlugin(); - -# Add Google Analytics -# require_once('plugins/GoogleAnalyticsPlugin.php'); -# $ga = new GoogleAnalyticsPlugin('your secret code'); - -# Use Templating (template: /tpl/index.php) -# require_once('plugins/TemplatePlugin.php'); -# $tpl = new TemplatePlugin(); - -#Don't allow saying the same thing more than once per hour -#$config['site']['dupelimit'] = 3600; -#Don't enforce the dupe limit -#$config['site']['dupelimit'] = -1; - -#Base string for minting Tag URIs in Atom feeds. Defaults to -#"yourserver,2009". This needs to be configured properly for your Atom -#feeds to validate. See: http://www.faqs.org/rfcs/rfc4151.html and -#http://taguri.org/ Examples: -#$config['integration']['taguri'] = 'example.net,2008'; -#$config['integration']['taguri'] = 'admin@example.net,2009-03-09' - -#Don't use SSL -#$config['site']['ssl'] = 'never'; -#Use SSL only for sensitive pages (like login, password change) -#$config['site']['ssl'] = 'sometimes'; -#Use SSL for all pages -#$config['site']['ssl'] = 'always'; - -#Use a different hostname for SSL-encrypted pages -#$config['site']['sslserver'] = 'secure.example.org'; - -#If you have a lot of status networks on the same server, you can -#store the site data in a database and switch as follows -#Status_network::setupDB('localhost', 'statusnet', 'statuspass', 'statusnet'); -#if (!Status_network::setupSite($_server, $_path)) { -# print "Error\n"; -# exit(1); -#} +// Users to populate the 'Featured' tab +// $config['nickname']['featured'][] = 'scobleizer'; + +// xmpp +// $config['xmpp']['enabled'] = false; +// $config['xmpp']['server'] = 'server.example.net'; +// $config['xmpp']['host'] = NULL; // Only set if different from server +// $config['xmpp']['port'] = 5222; +// $config['xmpp']['user'] = 'update'; +// $config['xmpp']['encryption'] = false; +// $config['xmpp']['resource'] = 'uniquename'; +// $config['xmpp']['password'] = 'blahblahblah'; +// $config['xmpp']['public'][] = 'someindexer@example.net'; +// $config['xmpp']['debug'] = false; + +// Default locale info +// $config['site']['timezone'] = 'Pacific/Auckland'; +// $config['site']['language'] = 'en_NZ'; + +// Email info, used for all outbound email +// $config['mail']['notifyfrom'] = 'microblog@example.net'; +// $config['mail']['domain'] = 'microblog.example.net'; +// See http://pear.php.net/manual/en/package.mail.mail.factory.php for options +// $config['mail']['backend'] = 'smtp'; +// $config['mail']['params'] = array( +// 'host' => 'localhost', +// 'port' => 25, +// ); +// For incoming email, if enabled. Defaults to site server name. +// $config['mail']['domain'] = 'incoming.example.net'; + +// exponential decay factor for tags, default 10 days +// raise this if traffic is slow, lower it if it's fast +// $config['tag']['dropoff'] = 86400.0 * 10; + +// exponential decay factor for popular (most favorited notices) +// default 10 days -- similar to tag dropoff +// $config['popular']['dropoff'] = 86400.0 * 10; + +// optionally show non-local messages in public timeline +// $config['public']['localonly'] = false; + +// hide certain users from public pages, by ID +// $config['public']['blacklist'][] = 123; +// $config['public']['blacklist'][] = 2307; + +// Mark certain notice sources as automatic and thus not +// appropriate for public feed +// $config['public]['autosource'][] = 'twitterfeed'; +// $config['public]['autosource'][] = 'rssdent'; +// $config['public]['autosource'][] = 'Ping.Fm'; +// $config['public]['autosource'][] = 'HelloTxt'; +// $config['public]['autosource'][] = 'Updating.Me'; + +// Do notice broadcasts offline +// If you use this, you must run the six offline daemons in the +// background. See the README for details. +// $config['queue']['enabled'] = true; + +// Queue subsystem +// subsystems: internal (default) or stomp +// using stomp requires an external message queue server +// $config['queue']['subsystem'] = 'stomp'; +// $config['queue']['stomp_server'] = 'tcp://localhost:61613'; +// use different queue_basename for each laconica instance managed by the server +// $config['queue']['queue_basename'] = 'laconica'; + +// The following customise the behaviour of the various daemons: +// $config['daemon']['piddir'] = '/var/run'; +// $config['daemon']['user'] = false; +// $config['daemon']['group'] = false; + +// For installations with high traffic, laconica can use MemCached to cache +// frequently requested information. Only enable the following if you have +// MemCached up and running: +// $config['memcached']['enabled'] = false; +// $config['memcached']['server'] = 'localhost'; +// $config['memcached']['port'] = 11211; + +// Twitter integration source attribute. Note: default is Laconica +// $config['integration']['source'] = 'Laconica'; + +// Edit throttling. Off by default. If turned on, you can only post 20 notices +// every 10 minutes. Admins may want to play with the settings to minimize inconvenience for +// real users without getting uncontrollable floods from spammers or runaway bots. + +// $config['throttle']['enabled'] = true; +// $config['throttle']['count'] = 100; +// $config['throttle']['timespan'] = 3600; + +// List of users banned from posting (nicknames and/or IDs) +// $config['profile']['banned'][] = 'hacker'; +// $config['profile']['banned'][] = 12345; + +// Config section for the built-in Facebook application +// $config['facebook']['apikey'] = 'APIKEY'; +// $config['facebook']['secret'] = 'SECRET'; + +// Add Google Analytics +// require_once('plugins/GoogleAnalyticsPlugin.php'); +// $ga = new GoogleAnalyticsPlugin('your secret code'); + +// Use Templating (template: /tpl/index.php) +// require_once('plugins/TemplatePlugin.php'); +// $tpl = new TemplatePlugin(); + +// Don't allow saying the same thing more than once per hour +// $config['site']['dupelimit'] = 3600; +// Don't enforce the dupe limit +// $config['site']['dupelimit'] = -1; + +// Base string for minting Tag URIs in Atom feeds. Defaults to +// "yourserver,2009". This needs to be configured properly for your Atom +// feeds to validate. See: http://www.faqs.org/rfcs/rfc4151.html and +// http://taguri.org/ Examples: +// $config['integration']['taguri'] = 'example.net,2008'; +// $config['integration']['taguri'] = 'admin@example.net,2009-03-09' + +// Don't use SSL +// $config['site']['ssl'] = 'never'; +// Use SSL only for sensitive pages (like login, password change) +// $config['site']['ssl'] = 'sometimes'; +// Use SSL for all pages +// $config['site']['ssl'] = 'always'; + +// Use a different hostname for SSL-encrypted pages +// $config['site']['sslserver'] = 'secure.example.org'; + +// If you have a lot of status networks on the same server, you can +// store the site data in a database and switch as follows +// Status_network::setupDB('localhost', 'statusnet', 'statuspass', 'statusnet'); +// if (!Status_network::setupSite($_server, $_path)) { +// print "Error\n"; +// exit(1); +// } diff --git a/js/farbtastic/farbtastic.go.js b/js/farbtastic/farbtastic.go.js index 64dd7db20..e298c1dab 100644 --- a/js/farbtastic/farbtastic.go.js +++ b/js/farbtastic/farbtastic.go.js @@ -7,19 +7,19 @@ $(document).ready(function() { UpdateSwatch(S); switch (parseInt(f.linked.id.slice(-1))) { - case 1: default: + case 0: default: $('body').css({'background-color':C}); break; - case 2: + case 1: $('#content').css({'background-color':C}); break; - case 3: + case 2: $('#aside_primary').css({'background-color':C}); break; - case 4: + case 3: $('body').css({'color':C}); break; - case 5: + case 4: $('a').css({'color':C}); break; } @@ -43,7 +43,7 @@ $(document).ready(function() { $('#color-picker').hide(); var f = $.farbtastic('#color-picker', UpdateColors); - var swatches = $('#settings_design_color input'); + var swatches = $('#settings_design_color .swatch'); swatches .each(UpdateColors) diff --git a/lib/common.php b/lib/common.php index abdc22c0e..3feba1d8b 100644 --- a/lib/common.php +++ b/lib/common.php @@ -19,7 +19,7 @@ if (!defined('LACONICA')) { exit(1); } -define('LACONICA_VERSION', '0.7.3'); +define('LACONICA_VERSION', '0.8.0dev'); define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); diff --git a/theme/base/css/display.css b/theme/base/css/display.css index eda04be77..8bd0ae1c4 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -1161,6 +1161,17 @@ width:400px; margin-right:28px; } +#settings_design_color .form_data li { +width:33%; +} +#settings_design_color .form_data label { +float:none; +} +#settings_design_color .form_data .swatch { +padding:11px; +margin-left:0; +} + .instructions ul { list-style-position:inside; } diff --git a/theme/default/css/display.css b/theme/default/css/display.css index 1fc99eff7..e4b57ef49 100644 --- a/theme/default/css/display.css +++ b/theme/default/css/display.css @@ -72,13 +72,6 @@ border-top-color:#D1D9E4; border-top-color:#C3D6DF; } -#content .notice p.entry-content a:visited { -background-color:#fcfcfc; -} -#content .notice p.entry-content .vcard a { -background-color:#fcfffc; -} - #aside_primary { background-color:#CEE1E9; } |