X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fcommon.php;h=a2f9b9bfe73f1fdf5deed09fc892997f2144ba4c;hb=26f9bf540e6db4340e85f7b936660b051148d1eb;hp=6be17c091450b091e46484d5d2d34f03700bd520;hpb=f6303475aa512ce96759c9f39b7a4b7d2e6fb7f9;p=quix0rs-gnu-social.git diff --git a/lib/common.php b/lib/common.php index 6be17c0914..a2f9b9bfe7 100644 --- a/lib/common.php +++ b/lib/common.php @@ -19,85 +19,161 @@ if (!defined('LACONICA')) { exit(1); } -define('LACONICA_VERSION', '0.4.1'); +define('LACONICA_VERSION', '0.7.0'); define('AVATAR_PROFILE_SIZE', 96); define('AVATAR_STREAM_SIZE', 48); define('AVATAR_MINI_SIZE', 24); define('MAX_AVATAR_SIZE', 256 * 1024); +define('NOTICES_PER_PAGE', 20); +define('PROFILES_PER_PAGE', 20); + +define('FOREIGN_NOTICE_SEND', 1); +define('FOREIGN_NOTICE_RECV', 2); +define('FOREIGN_NOTICE_SEND_REPLY', 4); + +define('FOREIGN_FRIEND_SEND', 1); +define('FOREIGN_FRIEND_RECV', 2); + +define_syslog_variables(); + +# append our extlib dir as the last-resort place to find libs + +set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/'); + # global configuration object require_once('PEAR.php'); require_once('DB/DataObject.php'); require_once('DB/DataObject/Cast.php'); # for dates +require_once(INSTALLDIR.'/lib/language.php'); + // default configuration, overwritten in config.php $config = array('site' => - array('name' => 'Just another Laconica microblog', - 'server' => 'localhost', - 'theme' => 'default', - 'path' => '/', - 'fancy' => false, - 'email' => $_SERVER['SERVER_ADMIN'], - 'broughtby' => NULL, - 'broughtbyurl' => NULL), - 'syslog' => - array('appname' => 'laconica', # for syslog - 'priority' => 'debug'), # XXX: currently ignored - 'tag' => - array('authority' => 'INVALID TAG', - 'date' => 'PUT A DATE HERE', - 'prefix' => ''), - 'queue' => - array('enabled' => false), - 'license' => - array('url' => 'http://creativecommons.org/licenses/by/3.0/', - 'title' => 'Creative Commons Attribution 3.0', - 'image' => 'http://i.creativecommons.org/l/by/3.0/88x31.png'), - 'mail' => - array('backend' => 'mail', - 'params' => NULL), - 'nickname' => - array('blacklist' => array()), - 'xmpp' => - array('enabled' => false, - 'server' => 'INVALID SERVER', - 'port' => 5222, - 'user' => 'update', - 'resource' => 'uniquename', - 'password' => 'blahblahblah', - 'host' => NULL), # only set if != server - ); + array('name' => 'Just another Laconica microblog', + 'server' => 'localhost', + 'theme' => 'default', + 'path' => '/', + 'logfile' => null, + 'fancy' => false, + 'locale_path' => INSTALLDIR.'/locale', + 'language' => 'en_US', + 'languages' => get_all_languages(), + 'email' => + array_key_exists('SERVER_ADMIN', $_SERVER) ? $_SERVER['SERVER_ADMIN'] : null, + 'broughtby' => null, + 'timezone' => 'UTC', + 'broughtbyurl' => null, + 'closed' => false, + 'inviteonly' => false, + 'private' => false), + 'syslog' => + array('appname' => 'laconica', # for syslog + 'priority' => 'debug'), # XXX: currently ignored + 'queue' => + array('enabled' => false), + 'license' => + array('url' => 'http://creativecommons.org/licenses/by/3.0/', + 'title' => 'Creative Commons Attribution 3.0', + 'image' => 'http://i.creativecommons.org/l/by/3.0/80x15.png'), + 'mail' => + array('backend' => 'mail', + 'params' => null), + 'nickname' => + array('blacklist' => array(), + 'featured' => array()), + 'profile' => + array('banned' => array()), + 'avatar' => + array('server' => null), + 'public' => + array('localonly' => true, + 'blacklist' => array()), + 'theme' => + array('server' => null), + 'throttle' => + array('enabled' => false, // whether to throttle edits; false by default + 'count' => 20, // number of allowed messages in timespan + 'timespan' => 600), // timespan for throttling + 'xmpp' => + array('enabled' => false, + 'server' => 'INVALID SERVER', + 'port' => 5222, + 'user' => 'update', + 'encryption' => true, + 'resource' => 'uniquename', + 'password' => 'blahblahblah', + 'host' => null, # only set if != server + 'debug' => false, # print extra debug info + 'public' => array()), # JIDs of users who want to receive the public stream + 'sphinx' => + array('enabled' => false, + 'server' => 'localhost', + 'port' => 3312), + 'tag' => + array('dropoff' => 864000.0), + 'popular' => + array('dropoff' => 864000.0), + 'daemon' => + array('piddir' => '/var/run', + 'user' => false, + 'group' => false), + 'integration' => + array('source' => 'Laconica'), # source attribute for Twitter + 'memcached' => + array('enabled' => false, + 'server' => 'localhost', + 'port' => 11211), + 'inboxes' => + array('enabled' => true), # on by default for new sites + ); $config['db'] = &PEAR::getStaticProperty('DB_DataObject','options'); $config['db'] = array('database' => 'YOU HAVE TO SET THIS IN config.php', - 'schema_location' => INSTALLDIR . '/classes', - 'class_location' => INSTALLDIR . '/classes', - 'require_prefix' => 'classes/', - 'class_prefix' => '', + 'schema_location' => INSTALLDIR . '/classes', + 'class_location' => INSTALLDIR . '/classes', + 'require_prefix' => 'classes/', + 'class_prefix' => '', + 'mirror' => null, 'db_driver' => 'DB', # XXX: JanRain libs only work with DB - 'quote_identifiers' => false); + 'quote_identifiers' => false, + 'type' => 'mysql' ); + +if (function_exists('date_default_timezone_set')) { + /* Work internally in UTC */ + date_default_timezone_set('UTC'); +} require_once(INSTALLDIR.'/config.php'); + +require_once('Validate.php'); +require_once('markdown.php'); + require_once(INSTALLDIR.'/lib/util.php'); require_once(INSTALLDIR.'/lib/action.php'); require_once(INSTALLDIR.'/lib/theme.php'); require_once(INSTALLDIR.'/lib/mail.php'); +require_once(INSTALLDIR.'/lib/subs.php'); +require_once(INSTALLDIR.'/lib/Shorturl_api.php'); +require_once(INSTALLDIR.'/lib/twitter.php'); -require_once(INSTALLDIR.'/classes/Avatar.php'); -require_once(INSTALLDIR.'/classes/Notice.php'); -require_once(INSTALLDIR.'/classes/Profile.php'); -require_once(INSTALLDIR.'/classes/Remote_profile.php'); -require_once(INSTALLDIR.'/classes/Subscription.php'); -require_once(INSTALLDIR.'/classes/User.php'); -require_once(INSTALLDIR.'/classes/Confirm_address.php'); -require_once(INSTALLDIR.'/classes/Remember_me.php'); -require_once(INSTALLDIR.'/classes/Queue_item.php'); -require_once(INSTALLDIR.'/classes/Reply.php'); +// XXX: other formats here -require_once('markdown.php'); +define('NICKNAME_FMT', VALIDATE_NUM.VALIDATE_ALPHA_LOWER); + +function __autoload($class) +{ + if ($class == 'OAuthRequest') { + require_once('OAuth.php'); + } else if (file_exists(INSTALLDIR.'/classes/' . $class . '.php')) { + require_once(INSTALLDIR.'/classes/' . $class . '.php'); + } else if (file_exists(INSTALLDIR.'/lib/' . strtolower($class) . '.php')) { + require_once(INSTALLDIR.'/lib/' . strtolower($class) . '.php'); + } +}