comments sort of working again but now need to fix the threading which was ported when it was only half working
This commit is contained in:
parent
ebb75340ec
commit
3b394ea43f
2
boot.php
2
boot.php
@ -990,7 +990,7 @@ if(! function_exists('login')) {
|
||||
$reg = false;
|
||||
$reglink = get_config('system','register_link');
|
||||
if(! strlen($reglink))
|
||||
$reglink = 'zregister';
|
||||
$reglink = 'register';
|
||||
|
||||
if ($register) {
|
||||
$reg = array(
|
||||
|
2
done
2
done
@ -182,4 +182,4 @@ mod/
|
||||
+ zchannel.php
|
||||
+ zfinger.php
|
||||
? zperms.php
|
||||
+ zregister.php
|
||||
+ register.php
|
||||
|
@ -398,7 +398,11 @@ function prepare_threads_body($a, $items, $cmnt_tpl, $page_writeable, $mode, $pr
|
||||
}
|
||||
}
|
||||
|
||||
$item_writeable = (($item['writable'] || $item['self']) ? true : false);
|
||||
$channel = $a->get_channel();
|
||||
|
||||
// FIXME
|
||||
// $item_writeable = (($item['writable'] || $item['self']) ? true : false);
|
||||
$item_writeable = ((local_user() && $channel['channel_hash'] === $item['owner_xchan']) ? true : false);
|
||||
|
||||
if($visiting && $mode == 'profile')
|
||||
$item_writeable = true;
|
||||
@ -745,6 +749,8 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||
|
||||
$page_dropping = ((local_user() && local_user() == $profile_owner) ? true : false);
|
||||
|
||||
$channel = $a->get_channel();
|
||||
$observer = $a->get_observer();
|
||||
|
||||
if($update)
|
||||
$return_url = $_SESSION['return_url'];
|
||||
@ -988,8 +994,8 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||
// If there are more than two comments, squash all but the last 2.
|
||||
|
||||
if($toplevelpost) {
|
||||
|
||||
$item_writeable = (($item['writable'] || $item['self']) ? true : false);
|
||||
// FIXME - base this on observer permissions
|
||||
$item_writeable = ((local_user() && $channel['channel_hash'] === $item['owner_xchan']) ? true : false);
|
||||
|
||||
$comments_seen = 0;
|
||||
$comments_collapsed = false;
|
||||
@ -1116,9 +1122,9 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional') {
|
||||
'$parent' => $item['parent'],
|
||||
'$qcomment' => $qcomment,
|
||||
'$profile_uid' => $profile_owner,
|
||||
'$mylink' => $a->contact['url'],
|
||||
'$mylink' => $observer['xchan_profile'],
|
||||
'$mytitle' => t('This is you'),
|
||||
'$myphoto' => $a->contact['thumb'],
|
||||
'$myphoto' => $observer['xchan_photo_s'],
|
||||
'$comment' => t('Comment'),
|
||||
'$submit' => t('Submit'),
|
||||
'$edbold' => t('Bold'),
|
||||
|
@ -493,7 +493,7 @@ function what_next() {
|
||||
."<p>".t('IMPORTANT: You will need to [manually] setup a scheduled task for the poller.')
|
||||
.t('Please see the file "install/INSTALL.txt".')
|
||||
."</p><p>"
|
||||
.t("Go to your new Friendica node <a href='$baseurl/zregister'>registration page</a> and register as new user. Remember to use the same email you have entered as administrator email. This will allow you to enter the site admin panel.")
|
||||
.t("Go to your new Friendica node <a href='$baseurl/register'>registration page</a> and register as new user. Remember to use the same email you have entered as administrator email. This will allow you to enter the site admin panel.")
|
||||
."</p>";
|
||||
}
|
||||
|
||||
|
12
mod/item.php
12
mod/item.php
@ -564,7 +564,9 @@ function item_post(&$a) {
|
||||
$notify_type = (($parent) ? 'comment-new' : 'wall-new' );
|
||||
|
||||
$uri = item_message_id();
|
||||
|
||||
$parent_uri = $uri;
|
||||
if($parent_item)
|
||||
$parent_uri = $parent_item['uri'];
|
||||
|
||||
// Fallback so that we alway have a thr_parent
|
||||
|
||||
@ -589,6 +591,7 @@ function item_post(&$a) {
|
||||
$datarray['received'] = datetime_convert();
|
||||
$datarray['changed'] = datetime_convert();
|
||||
$datarray['uri'] = $uri;
|
||||
$datarray['parent_uri'] = $parent_uri;
|
||||
$datarray['title'] = $title;
|
||||
$datarray['body'] = $body;
|
||||
$datarray['app'] = $app;
|
||||
@ -774,11 +777,10 @@ function item_post(&$a) {
|
||||
if(! $parent)
|
||||
$parent = $post_id;
|
||||
|
||||
$r = q("UPDATE `item` SET `parent` = %d, `parent_uri` = '%s', `plink` = '%s', `changed` = '%s', `visible` = 1
|
||||
$r = q("UPDATE `item` SET `parent` = %d, `parent_uri` = '%s', `changed` = '%s'
|
||||
WHERE `id` = %d LIMIT 1",
|
||||
intval($parent),
|
||||
dbesc(($parent == $post_id) ? $uri : $parent_item['uri']),
|
||||
dbesc($a->get_baseurl() . '/display/' . $channel['channel_address'] . '/' . $post_id),
|
||||
dbesc(datetime_convert()),
|
||||
intval($post_id)
|
||||
);
|
||||
@ -787,7 +789,9 @@ function item_post(&$a) {
|
||||
// This way we don't see every picture in your new photo album posted to your wall at once.
|
||||
// They will show up as people comment on them.
|
||||
|
||||
if(! $parent_item['item_restrict'] & ITEM_HIDDEN) {
|
||||
// fixme set item visible as well
|
||||
|
||||
if($parent_item['item_restrict'] & ITEM_HIDDEN) {
|
||||
$r = q("UPDATE `item` SET `item_restrict` = %d WHERE `id` = %d LIMIT 1",
|
||||
intval($parent_item['item_restrict'] - ITEM_HIDDEN),
|
||||
intval($parent_item['id'])
|
||||
|
@ -36,7 +36,7 @@ function photos_init(&$a) {
|
||||
// FIXME
|
||||
$o .= '<div class="vcard">';
|
||||
$o .= '<div class="fn">' . $a->data['channel']['channel_name'] . '</div>';
|
||||
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['channel']['channel_id']) . '" alt="' . $a->data['user']['username'] . '" /></div>';
|
||||
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/l/' . $a->data['channel']['channel_id']) . '" alt="' . $a->data['channel']['channel_name'] . '" /></div>';
|
||||
$o .= '</div>';
|
||||
|
||||
$albums_visible = ((intval($a->data['user']['hidewall']) && (! local_user()) && (! remote_user())) ? false : true);
|
||||
|
301
mod/register.php
301
mod/register.php
@ -1,189 +1,135 @@
|
||||
<?php
|
||||
|
||||
if(! function_exists('register_post')) {
|
||||
require_once('include/account.php');
|
||||
|
||||
function register_init(&$a) {
|
||||
|
||||
$result = null;
|
||||
$cmd = ((argc() > 1) ? argv(1) : '');
|
||||
|
||||
switch($cmd) {
|
||||
case 'invite_check.json':
|
||||
$result = check_account_invite($_REQUEST['invite_code']);
|
||||
break;
|
||||
case 'email_check.json':
|
||||
$result = check_account_email($_REQUEST['email']);
|
||||
break;
|
||||
case 'password_check.json':
|
||||
$result = check_account_password($_REQUEST['password']);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if($result) {
|
||||
json_return_and_die($result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function register_post(&$a) {
|
||||
|
||||
global $lang;
|
||||
|
||||
$verified = 0;
|
||||
$blocked = 1;
|
||||
|
||||
$arr = array('post' => $_POST);
|
||||
call_hooks('register_post', $arr);
|
||||
|
||||
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
||||
if($max_dailes) {
|
||||
$r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day");
|
||||
if($max_dailies) {
|
||||
$r = q("select count(*) as total from account where account_created > UTC_TIMESTAMP - INTERVAL 1 day");
|
||||
if($r && $r[0]['total'] >= $max_dailies) {
|
||||
notice( t('Maximum daily site registrations exceeded. Please try again tomorrow.') . EOL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
switch($a->config['register_policy']) {
|
||||
if(! x($_POST,'tos')) {
|
||||
notice( t('Please indicate acceptance of the Terms of Service. Registration failed.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$policy = get_config('system','register_policy');
|
||||
|
||||
switch($policy) {
|
||||
|
||||
case REGISTER_OPEN:
|
||||
$blocked = 0;
|
||||
$verified = 1;
|
||||
$flags = ACCOUNT_UNVERIFIED;
|
||||
break;
|
||||
|
||||
case REGISTER_APPROVE:
|
||||
$blocked = 1;
|
||||
$verified = 0;
|
||||
$flags = ACCOUNT_UNVERIFIED | ACCOUNT_BLOCKED;
|
||||
break;
|
||||
|
||||
default:
|
||||
case REGISTER_CLOSED:
|
||||
if((! x($_SESSION,'authenticated') && (! x($_SESSION,'administrator')))) {
|
||||
if(! is_site_admin()) {
|
||||
notice( t('Permission denied.') . EOL );
|
||||
return;
|
||||
}
|
||||
$blocked = 1;
|
||||
$verified = 0;
|
||||
$flags = ACCOUNT_UNVERIFIED | ACCOUNT_BLOCKED;
|
||||
break;
|
||||
}
|
||||
|
||||
require_once('include/user.php');
|
||||
|
||||
$arr = $_POST;
|
||||
$arr['account_flags'] = $flags;
|
||||
|
||||
$arr['blocked'] = $blocked;
|
||||
$arr['verified'] = $verified;
|
||||
|
||||
$result = create_user($arr);
|
||||
$result = create_account($arr);
|
||||
|
||||
if(! $result['success']) {
|
||||
notice($result['message']);
|
||||
return;
|
||||
}
|
||||
require_once('include/security.php');
|
||||
|
||||
$user = $result['user'];
|
||||
|
||||
if($netpublish && $a->config['register_policy'] != REGISTER_APPROVE) {
|
||||
$url = $a->get_baseurl() . '/profile/' . $user['nickname'];
|
||||
proc_run('php',"include/directory.php","$url");
|
||||
$using_invites = intval(get_config('system','invitation_only'));
|
||||
$num_invites = intval(get_config('system','number_invites'));
|
||||
$invite_code = ((x($_POST,'invite_code')) ? notags(trim($_POST['invite_code'])) : '');
|
||||
|
||||
if($using_invites && $invite_code) {
|
||||
q("delete * from register where hash = '%s' limit 1", dbesc($invite_code));
|
||||
set_pconfig($result['account']['account_id'],'system','invites_remaining',$num_invites);
|
||||
}
|
||||
|
||||
$using_invites = get_config('system','invitation_only');
|
||||
$num_invites = get_config('system','number_invites');
|
||||
$invite_id = ((x($_POST,'invite_id')) ? notags(trim($_POST['invite_id'])) : '');
|
||||
|
||||
|
||||
if( $a->config['register_policy'] == REGISTER_OPEN ) {
|
||||
|
||||
if($using_invites && $invite_id) {
|
||||
q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
|
||||
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
|
||||
}
|
||||
|
||||
$email_tpl = get_intltext_template("register_open_eml.tpl");
|
||||
$email_tpl = replace_macros($email_tpl, array(
|
||||
'$sitename' => $a->config['sitename'],
|
||||
'$siteurl' => $a->get_baseurl(),
|
||||
'$username' => $user['username'],
|
||||
'$email' => $user['email'],
|
||||
'$password' => $result['password'],
|
||||
'$uid' => $user['uid'] ));
|
||||
|
||||
$res = mail($user['email'], sprintf(t('Registration details for %s'), $a->config['sitename']),
|
||||
$email_tpl,
|
||||
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
||||
. 'Content-transfer-encoding: 8bit' );
|
||||
|
||||
|
||||
if($policy == REGISTER_OPEN ) {
|
||||
$res = send_verification_email($result['email'],$result['password']);
|
||||
if($res) {
|
||||
info( t('Registration successful. Please check your email for further instructions.') . EOL ) ;
|
||||
goaway(z_root());
|
||||
}
|
||||
else {
|
||||
notice( t('Failed to send email message. Here is the message that failed.') . $email_tpl . EOL );
|
||||
info( t('Registration successful. Please check your email for validation instructions.') . EOL ) ;
|
||||
}
|
||||
}
|
||||
elseif($a->config['register_policy'] == REGISTER_APPROVE) {
|
||||
if(! strlen($a->config['admin_email'])) {
|
||||
notice( t('Your registration can not be processed.') . EOL);
|
||||
goaway(z_root());
|
||||
}
|
||||
|
||||
$hash = random_string();
|
||||
$r = q("INSERT INTO `register` ( `hash`, `created`, `uid`, `password`, `language` ) VALUES ( '%s', '%s', %d, '%s', '%s' ) ",
|
||||
dbesc($hash),
|
||||
dbesc(datetime_convert()),
|
||||
intval($user['uid']),
|
||||
dbesc($result['password']),
|
||||
dbesc($lang)
|
||||
);
|
||||
|
||||
$r = q("SELECT `language` FROM `user` WHERE `email` = '%s' LIMIT 1",
|
||||
dbesc($a->config['admin_email'])
|
||||
);
|
||||
if(count($r))
|
||||
push_lang($r[0]['language']);
|
||||
else
|
||||
push_lang('en');
|
||||
|
||||
if($using_invites && $invite_id) {
|
||||
q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
|
||||
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
|
||||
}
|
||||
|
||||
$email_tpl = get_intltext_template("register_verify_eml.tpl");
|
||||
$email_tpl = replace_macros($email_tpl, array(
|
||||
'$sitename' => $a->config['sitename'],
|
||||
'$siteurl' => $a->get_baseurl(),
|
||||
'$username' => $user['username'],
|
||||
'$email' => $user['email'],
|
||||
'$password' => $result['password'],
|
||||
'$uid' => $user['uid'],
|
||||
'$hash' => $hash
|
||||
));
|
||||
|
||||
$res = mail($a->config['admin_email'], sprintf(t('Registration request at %s'), $a->config['sitename']),
|
||||
$email_tpl,
|
||||
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
|
||||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
||||
. 'Content-transfer-encoding: 8bit' );
|
||||
|
||||
pop_lang();
|
||||
|
||||
elseif($policy == REGISTER_APPROVE) {
|
||||
$res = send_reg_approval_email($result);
|
||||
if($res) {
|
||||
info( t('Your registration is pending approval by the site owner.') . EOL ) ;
|
||||
}
|
||||
else {
|
||||
notice( t('Your registration can not be processed.') . EOL);
|
||||
}
|
||||
goaway(z_root());
|
||||
}
|
||||
|
||||
authenticate_success($result['account'],true,false,true);
|
||||
|
||||
if(! strlen($next_page = get_config('system','workflow_register_next')))
|
||||
$next_page = 'zchannel';
|
||||
|
||||
$_SESSION['workflow'] = true;
|
||||
|
||||
goaway(z_root() . '/' . $next_page);
|
||||
|
||||
}
|
||||
|
||||
return;
|
||||
}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if(! function_exists('register_content')) {
|
||||
function register_content(&$a) {
|
||||
|
||||
// logged in users can register others (people/pages/groups)
|
||||
// even with closed registrations, unless specifically prohibited by site policy.
|
||||
// 'block_extended_register' blocks all registrations, period.
|
||||
|
||||
$block = get_config('system','block_extended_register');
|
||||
|
||||
if(local_user() && ($block)) {
|
||||
notice("Permission denied." . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
if((! local_user()) && ($a->config['register_policy'] == REGISTER_CLOSED)) {
|
||||
if(get_config('system','register_policy') == REGISTER_CLOSED) {
|
||||
notice("Permission denied." . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
||||
if($max_dailes) {
|
||||
$r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day");
|
||||
if($max_dailies) {
|
||||
$r = q("select count(*) as total from account where account_created > UTC_TIMESTAMP - INTERVAL 1 day");
|
||||
if($r && $r[0]['total'] >= $max_dailies) {
|
||||
logger('max daily registrations exceeded.');
|
||||
notice( t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
|
||||
@ -191,80 +137,51 @@ function register_content(&$a) {
|
||||
}
|
||||
}
|
||||
|
||||
if(x($_SESSION,'theme'))
|
||||
unset($_SESSION['theme']);
|
||||
if(x($_SESSION,'mobile-theme'))
|
||||
unset($_SESSION['mobile-theme']);
|
||||
// Configurable terms of service link
|
||||
|
||||
$tosurl = get_config('system','tos_url');
|
||||
if(! $tosurl)
|
||||
$tosurl = $a->get_baseurl() . '/help/TermsOfService';
|
||||
|
||||
$toslink = '<a href="' . $tosurl . '" >' . t('Terms of Service') . '</a>';
|
||||
|
||||
// Configurable whether to restrict age or not - default is based on international legal requirements
|
||||
// This can be relaxed if you are on a restricted server that does not share with public servers
|
||||
|
||||
if(get_config('system','no_age_restriction'))
|
||||
$label_tos = sprintf( t('I accept the %s for this website'), $toslink);
|
||||
else
|
||||
$label_tos = sprintf( t('I am over 13 years of age and accept the %s for this website'), $toslink);
|
||||
|
||||
$enable_tos = 1 - intval(get_config('system','no_termsofservice'));
|
||||
|
||||
$email = ((x($_REQUEST,'email')) ? strip_tags(trim($_REQUEST['email'])) : "" );
|
||||
$password = ((x($_REQUEST,'password')) ? trim($_REQUEST['password']) : "" );
|
||||
$password2 = ((x($_REQUEST,'password2')) ? trim($_REQUEST['password2']) : "" );
|
||||
$invite_code = ((x($_REQUEST,'invite_code')) ? strip_tags(trim($_REQUEST['invite_code'])) : "" );
|
||||
|
||||
|
||||
$username = ((x($_POST,'username')) ? $_POST['username'] : ((x($_GET,'username')) ? $_GET['username'] : ''));
|
||||
$email = ((x($_POST,'email')) ? $_POST['email'] : ((x($_GET,'email')) ? $_GET['email'] : ''));
|
||||
$openid_url = ((x($_POST,'openid_url')) ? $_POST['openid_url'] : ((x($_GET,'openid_url')) ? $_GET['openid_url'] : ''));
|
||||
$nickname = ((x($_POST,'nickname')) ? $_POST['nickname'] : ((x($_GET,'nickname')) ? $_GET['nickname'] : ''));
|
||||
$photo = ((x($_POST,'photo')) ? $_POST['photo'] : ((x($_GET,'photo')) ? hex2bin($_GET['photo']) : ''));
|
||||
$invite_id = ((x($_POST,'invite_id')) ? $_POST['invite_id'] : ((x($_GET,'invite_id')) ? $_GET['invite_id'] : ''));
|
||||
$o = replace_macros(get_markup_template('register.tpl'), array(
|
||||
|
||||
|
||||
$oidhtml = '';
|
||||
$fillwith = '';
|
||||
$fillext = '';
|
||||
$oidlabel = '';
|
||||
|
||||
$realpeople = '';
|
||||
|
||||
if(get_config('system','publish_all')) {
|
||||
$profile_publish_reg = '<input type="hidden" name="profile_publish_reg" value="1" />';
|
||||
}
|
||||
else {
|
||||
$publish_tpl = get_markup_template("profile_publish.tpl");
|
||||
$profile_publish = replace_macros($publish_tpl,array(
|
||||
'$instance' => 'reg',
|
||||
'$pubdesc' => t('Include your profile in member directory?'),
|
||||
'$yes_selected' => ' checked="checked" ',
|
||||
'$no_selected' => '',
|
||||
'$str_yes' => t('Yes'),
|
||||
'$str_no' => t('No')
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
$license = '';
|
||||
|
||||
$o = get_markup_template("register.tpl");
|
||||
|
||||
$arr = array('template' => $o);
|
||||
|
||||
call_hooks('register_form',$arr);
|
||||
|
||||
$o = replace_macros($o, array(
|
||||
'$oidhtml' => $oidhtml,
|
||||
'$title' => t('Registration'),
|
||||
'$registertext' => get_config('system','register_text'),
|
||||
'$invitations' => get_config('system','invitation_only'),
|
||||
'$invite_desc' => t('Membership on this site is by invitation only.'),
|
||||
'$invite_label' => t('Your invitation ID: '),
|
||||
'$invite_id' => $invite_id,
|
||||
'$realpeople' => $realpeople,
|
||||
'$regtitle' => t('Registration'),
|
||||
'$registertext' =>((x($a->config,'register_text'))
|
||||
? '<div class="error-message">' . $a->config['register_text'] . '</div>'
|
||||
: "" ),
|
||||
'$fillwith' => $fillwith,
|
||||
'$fillext' => $fillext,
|
||||
'$oidlabel' => $oidlabel,
|
||||
'$openid' => $openid_url,
|
||||
'$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '),
|
||||
'$addrlabel' => t('Your Email Address: '),
|
||||
'$nickdesc' => t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be \'<strong>nickname@$sitename</strong>\'.'),
|
||||
'$nicklabel' => t('Choose a nickname: '),
|
||||
'$photo' => $photo,
|
||||
'$publish' => $profile_publish,
|
||||
'$regbutt' => t('Register'),
|
||||
'$username' => $username,
|
||||
'$label_invite' => t('Please enter your invitation code'),
|
||||
'$invite_code' => $invite_code,
|
||||
|
||||
'$label_email' => t('Your email address'),
|
||||
'$label_pass1' => t('Choose a password'),
|
||||
'$label_pass2' => t('Please re-enter your password'),
|
||||
'$label_tos' => $label_tos,
|
||||
'$enable_tos' => $enable_tos,
|
||||
'$email' => $email,
|
||||
'$nickname' => $nickname,
|
||||
'$license' => $license,
|
||||
'$sitename' => $a->get_hostname()
|
||||
'$pass1' => $password,
|
||||
'$pass2' => $password2,
|
||||
'$submit' => t('Register')
|
||||
));
|
||||
|
||||
return $o;
|
||||
|
||||
}}
|
||||
}
|
||||
|
||||
|
@ -1,187 +0,0 @@
|
||||
<?php
|
||||
|
||||
require_once('include/account.php');
|
||||
|
||||
function zregister_init(&$a) {
|
||||
|
||||
$result = null;
|
||||
$cmd = ((argc() > 1) ? argv(1) : '');
|
||||
|
||||
switch($cmd) {
|
||||
case 'invite_check.json':
|
||||
$result = check_account_invite($_REQUEST['invite_code']);
|
||||
break;
|
||||
case 'email_check.json':
|
||||
$result = check_account_email($_REQUEST['email']);
|
||||
break;
|
||||
case 'password_check.json':
|
||||
$result = check_account_password($_REQUEST['password']);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if($result) {
|
||||
json_return_and_die($result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function zregister_post(&$a) {
|
||||
|
||||
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
||||
if($max_dailies) {
|
||||
$r = q("select count(*) as total from account where account_created > UTC_TIMESTAMP - INTERVAL 1 day");
|
||||
if($r && $r[0]['total'] >= $max_dailies) {
|
||||
notice( t('Maximum daily site registrations exceeded. Please try again tomorrow.') . EOL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(! x($_POST,'tos')) {
|
||||
notice( t('Please indicate acceptance of the Terms of Service. Registration failed.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$policy = get_config('system','register_policy');
|
||||
|
||||
switch($policy) {
|
||||
|
||||
case REGISTER_OPEN:
|
||||
$flags = ACCOUNT_UNVERIFIED;
|
||||
break;
|
||||
|
||||
case REGISTER_APPROVE:
|
||||
$flags = ACCOUNT_UNVERIFIED | ACCOUNT_BLOCKED;
|
||||
break;
|
||||
|
||||
default:
|
||||
case REGISTER_CLOSED:
|
||||
if(! is_site_admin()) {
|
||||
notice( t('Permission denied.') . EOL );
|
||||
return;
|
||||
}
|
||||
$flags = ACCOUNT_UNVERIFIED | ACCOUNT_BLOCKED;
|
||||
break;
|
||||
}
|
||||
|
||||
$arr = $_POST;
|
||||
$arr['account_flags'] = $flags;
|
||||
|
||||
$result = create_account($arr);
|
||||
|
||||
if(! $result['success']) {
|
||||
notice($result['message']);
|
||||
return;
|
||||
}
|
||||
require_once('include/security.php');
|
||||
|
||||
|
||||
$using_invites = intval(get_config('system','invitation_only'));
|
||||
$num_invites = intval(get_config('system','number_invites'));
|
||||
$invite_code = ((x($_POST,'invite_code')) ? notags(trim($_POST['invite_code'])) : '');
|
||||
|
||||
if($using_invites && $invite_code) {
|
||||
q("delete * from register where hash = '%s' limit 1", dbesc($invite_code));
|
||||
set_pconfig($result['account']['account_id'],'system','invites_remaining',$num_invites);
|
||||
}
|
||||
|
||||
if($policy == REGISTER_OPEN ) {
|
||||
$res = send_verification_email($result['email'],$result['password']);
|
||||
if($res) {
|
||||
info( t('Registration successful. Please check your email for validation instructions.') . EOL ) ;
|
||||
}
|
||||
}
|
||||
elseif($policy == REGISTER_APPROVE) {
|
||||
$res = send_reg_approval_email($result);
|
||||
if($res) {
|
||||
info( t('Your registration is pending approval by the site owner.') . EOL ) ;
|
||||
}
|
||||
else {
|
||||
notice( t('Your registration can not be processed.') . EOL);
|
||||
}
|
||||
goaway(z_root());
|
||||
}
|
||||
|
||||
authenticate_success($result['account'],true,false,true);
|
||||
|
||||
if(! strlen($next_page = get_config('system','workflow_register_next')))
|
||||
$next_page = 'zchannel';
|
||||
|
||||
$_SESSION['workflow'] = true;
|
||||
|
||||
goaway(z_root() . '/' . $next_page);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function zregister_content(&$a) {
|
||||
|
||||
|
||||
if(get_config('system','register_policy') == REGISTER_CLOSED) {
|
||||
notice("Permission denied." . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
||||
if($max_dailies) {
|
||||
$r = q("select count(*) as total from account where account_created > UTC_TIMESTAMP - INTERVAL 1 day");
|
||||
if($r && $r[0]['total'] >= $max_dailies) {
|
||||
logger('max daily registrations exceeded.');
|
||||
notice( t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Configurable terms of service link
|
||||
|
||||
$tosurl = get_config('system','tos_url');
|
||||
if(! $tosurl)
|
||||
$tosurl = $a->get_baseurl() . '/help/TermsOfService';
|
||||
|
||||
$toslink = '<a href="' . $tosurl . '" >' . t('Terms of Service') . '</a>';
|
||||
|
||||
// Configurable whether to restrict age or not - default is based on international legal requirements
|
||||
// This can be relaxed if you are on a restricted server that does not share with public servers
|
||||
|
||||
if(get_config('system','no_age_restriction'))
|
||||
$label_tos = sprintf( t('I accept the %s for this website'), $toslink);
|
||||
else
|
||||
$label_tos = sprintf( t('I am over 13 years of age and accept the %s for this website'), $toslink);
|
||||
|
||||
$enable_tos = 1 - intval(get_config('system','no_termsofservice'));
|
||||
|
||||
$email = ((x($_REQUEST,'email')) ? strip_tags(trim($_REQUEST['email'])) : "" );
|
||||
$password = ((x($_REQUEST,'password')) ? trim($_REQUEST['password']) : "" );
|
||||
$password2 = ((x($_REQUEST,'password2')) ? trim($_REQUEST['password2']) : "" );
|
||||
$invite_code = ((x($_REQUEST,'invite_code')) ? strip_tags(trim($_REQUEST['invite_code'])) : "" );
|
||||
|
||||
|
||||
$o = replace_macros(get_markup_template('zregister.tpl'), array(
|
||||
|
||||
'$title' => t('Registration'),
|
||||
'$registertext' => get_config('system','register_text'),
|
||||
'$invitations' => get_config('system','invitation_only'),
|
||||
'$invite_desc' => t('Membership on this site is by invitation only.'),
|
||||
'$label_invite' => t('Please enter your invitation code'),
|
||||
'$invite_code' => $invite_code,
|
||||
|
||||
'$label_email' => t('Your email address'),
|
||||
'$label_pass1' => t('Choose a password'),
|
||||
'$label_pass2' => t('Please re-enter your password'),
|
||||
'$label_tos' => $label_tos,
|
||||
'$enable_tos' => $enable_tos,
|
||||
'$email' => $email,
|
||||
'$pass1' => $password,
|
||||
'$pass2' => $password2,
|
||||
'$submit' => t('Register')
|
||||
));
|
||||
|
||||
return $o;
|
||||
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
2012-10-24.117
|
||||
2012-10-25.118
|
||||
|
@ -4,29 +4,29 @@ h2 {
|
||||
margin-top: 15%;
|
||||
}
|
||||
|
||||
#zregister-form {
|
||||
#register-form {
|
||||
font-size: 1.4em;
|
||||
margin-left: 15%;
|
||||
margin-top: 5%;
|
||||
}
|
||||
|
||||
.zregister-label {
|
||||
.register-label {
|
||||
float: left;
|
||||
width: 275px;
|
||||
}
|
||||
|
||||
.zregister-input {
|
||||
.register-input {
|
||||
float: left;
|
||||
width: 275px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.zregister-feedback {
|
||||
.register-feedback {
|
||||
float: left;
|
||||
margin-left: 45px;
|
||||
}
|
||||
|
||||
.zregister-field-end {
|
||||
.register-field-end {
|
||||
clear: both;
|
||||
margin-bottom: 20px;
|
||||
}
|
29
view/js/mod_register.js
Normal file
29
view/js/mod_register.js
Normal file
@ -0,0 +1,29 @@
|
||||
$(document).ready(function() {
|
||||
$("#register-email").blur(function() {
|
||||
var zreg_email = $("#register-email").val();
|
||||
$.get("register/email_check.json?f=&email=" + encodeURIComponent(zreg_email),function(data) {
|
||||
$("#register-email-feedback").html(data.message);
|
||||
zFormError("#register-email-feedback",data.error);
|
||||
});
|
||||
});
|
||||
$("#register-password").blur(function() {
|
||||
if(($("#register-password").val()).length < 6 ) {
|
||||
$("#register-password-feedback").html(aStr['pwshort']);
|
||||
zFormError("#register-password-feedback",true);
|
||||
}
|
||||
else {
|
||||
$("#register-password-feedback").html("");
|
||||
zFormError("#register-password-feedback",false);
|
||||
}
|
||||
});
|
||||
$("#register-password2").blur(function() {
|
||||
if($("#register-password").val() != $("#register-password2").val()) {
|
||||
$("#register-password2-feedback").html(aStr['pwnomatch']);
|
||||
zFormError("#register-password2-feedback",true);
|
||||
}
|
||||
else {
|
||||
$("#register-password2-feedback").html("");
|
||||
zFormError("#register-password2-feedback",false);
|
||||
}
|
||||
});
|
||||
});
|
@ -1,29 +0,0 @@
|
||||
$(document).ready(function() {
|
||||
$("#zregister-email").blur(function() {
|
||||
var zreg_email = $("#zregister-email").val();
|
||||
$.get("zregister/email_check.json?f=&email=" + encodeURIComponent(zreg_email),function(data) {
|
||||
$("#zregister-email-feedback").html(data.message);
|
||||
zFormError("#zregister-email-feedback",data.error);
|
||||
});
|
||||
});
|
||||
$("#zregister-password").blur(function() {
|
||||
if(($("#zregister-password").val()).length < 6 ) {
|
||||
$("#zregister-password-feedback").html(aStr['pwshort']);
|
||||
zFormError("#zregister-password-feedback",true);
|
||||
}
|
||||
else {
|
||||
$("#zregister-password-feedback").html("");
|
||||
zFormError("#zregister-password-feedback",false);
|
||||
}
|
||||
});
|
||||
$("#zregister-password2").blur(function() {
|
||||
if($("#zregister-password").val() != $("#zregister-password2").val()) {
|
||||
$("#zregister-password2-feedback").html(aStr['pwnomatch']);
|
||||
zFormError("#zregister-password2-feedback",true);
|
||||
}
|
||||
else {
|
||||
$("#zregister-password2-feedback").html("");
|
||||
zFormError("#zregister-password2-feedback",false);
|
||||
}
|
||||
});
|
||||
});
|
@ -964,10 +964,8 @@ input#dfrn-url {
|
||||
|
||||
.wall-item-content-wrapper {
|
||||
margin-top: 10px;
|
||||
border: 1px solid #CCC;
|
||||
border-left: 1px solid #e0e0e0;
|
||||
position: relative;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.tread-wrapper .tread-wrapper {
|
||||
@ -975,8 +973,9 @@ input#dfrn-url {
|
||||
}
|
||||
|
||||
.wall-item-content-wrapper.comment {
|
||||
# margin-left: 50px;
|
||||
background: #EEEEEE;
|
||||
background: #ffffff;
|
||||
border-left: 1px solid #e0e0e0;
|
||||
margin-left: 50px;
|
||||
}
|
||||
|
||||
.wall-item-like.comment, .wall-item-dislike.comment {
|
||||
@ -1210,12 +1209,12 @@ input#dfrn-url {
|
||||
|
||||
.comment-edit-wrapper {
|
||||
margin-top: 15px;
|
||||
background: #f3f3f3;
|
||||
background: #ffffff;
|
||||
margin-left: 50px;
|
||||
}
|
||||
|
||||
.comment-wwedit-wrapper {
|
||||
background: #f3f3f3;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.comment-edit-photo {
|
||||
@ -1235,11 +1234,30 @@ input#dfrn-url {
|
||||
.comment-edit-text-empty, .comment-edit-text-full {
|
||||
float: left;
|
||||
margin-top: 10px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #cccccc;
|
||||
border-left: 1px solid #e0e0e0;
|
||||
padding: 3px 1px 1px 3px;
|
||||
}
|
||||
|
||||
.comment-edit-text-empty {
|
||||
color: gray;
|
||||
height: 1.5em;
|
||||
width: 175px;
|
||||
overflow: auto;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.comment-wwedit-wrapper.threaded > .comment-edit-form > .comment-edit-text-empty {
|
||||
height: 1.5em;
|
||||
}
|
||||
|
||||
.comment-edit-text-full {
|
||||
color: black;
|
||||
height: 150px;
|
||||
width: 350px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
|
||||
.comment-edit-text-end {
|
||||
clear: both;
|
||||
}
|
||||
@ -1678,6 +1696,12 @@ input#dfrn-url {
|
||||
width: 587px;
|
||||
}
|
||||
|
||||
#profile-jot-text_parent, .mceLayout {
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
box-shadow: 4px 4px 3px 0 #444444;
|
||||
}
|
||||
|
||||
#profile-jot-text {
|
||||
height: 20px;
|
||||
color:#cccccc;
|
||||
@ -1686,6 +1710,137 @@ input#dfrn-url {
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
#profile-jot-text:hover {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.wall-item-photo, .photo, .contact-block-img, .my-comment-photo {
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
box-shadow: 4px 4px 3px 0 #444444;
|
||||
}
|
||||
|
||||
|
||||
#datebrowse-sidebar select {
|
||||
margin-left: 25px;
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
opacity: 0.3;
|
||||
filter:alpha(opacity=30);
|
||||
}
|
||||
|
||||
#datebrowse-sidebar select:hover {
|
||||
opacity: 1.0;
|
||||
filter:alpha(opacity=100);
|
||||
}
|
||||
|
||||
#posted-date-selector {
|
||||
margin-left: 30px !important;
|
||||
margin-top: 5px !important;
|
||||
margin-right: 0px !important;
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
|
||||
#posted-date-selector:hover {
|
||||
box-shadow: 4px 4px 3px 0 #444444;
|
||||
margin-left: 25px !important;
|
||||
margin-top: 0px !important;
|
||||
margin-right: 5px !important;
|
||||
margin-bottom: 5px !important;
|
||||
|
||||
}
|
||||
|
||||
#side-bar-photos-albums {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#side-bar-photos-albums ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .profile-jot-text, .group-selected, .nets-selected, .fileas-selected, #profile-jot-submit, .categories-selected {
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
box-shadow: 4px 4px 3px 0 #444444;
|
||||
}
|
||||
.settings-widget .selected {
|
||||
border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
box-shadow: 4px 4px 3px 0 #444444;
|
||||
}
|
||||
|
||||
#sidebar-page-list .label {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
|
||||
.photo {
|
||||
border: 1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.photo-top-photo, .photo-album-photo {
|
||||
padding: 10px;
|
||||
max-width: 300px;
|
||||
border: 1px solid #888888;
|
||||
}
|
||||
|
||||
.rotleft1 {
|
||||
-webkit-transform: rotate(-1deg);
|
||||
-moz-transform: rotate(-1deg);
|
||||
-ms-transform: rotate(-1deg);
|
||||
-o-transform: rotate(-1deg);
|
||||
}
|
||||
|
||||
.rotleft2 {
|
||||
-webkit-transform: rotate(-2deg);
|
||||
-moz-transform: rotate(-2deg);
|
||||
-ms-transform: rotate(-2deg);
|
||||
-o-transform: rotate(-2deg);
|
||||
}
|
||||
|
||||
.rotleft3 {
|
||||
-webkit-transform: rotate(-3deg);
|
||||
-moz-transform: rotate(-3deg);
|
||||
-ms-transform: rotate(-3deg);
|
||||
-o-transform: rotate(-3deg);
|
||||
}
|
||||
|
||||
.rotleft4 {
|
||||
-webkit-transform: rotate(-4deg);
|
||||
-moz-transform: rotate(-4deg);
|
||||
-ms-transform: rotate(-4deg);
|
||||
-o-transform: rotate(-4deg);
|
||||
}
|
||||
|
||||
|
||||
.rotright1 {
|
||||
-webkit-transform: rotate(1deg);
|
||||
-moz-transform: rotate(1deg);
|
||||
-ms-transform: rotate(1deg);
|
||||
-o-transform: rotate(1deg);
|
||||
}
|
||||
|
||||
.rotright2 {
|
||||
-webkit-transform: rotate(2deg);
|
||||
-moz-transform: rotate(2deg);
|
||||
-ms-transform: rotate(2deg);
|
||||
-o-transform: rotate(2deg);
|
||||
}
|
||||
|
||||
.rotright3 {
|
||||
-webkit-transform: rotate(3deg);
|
||||
-moz-transform: rotate(3deg);
|
||||
-ms-transform: rotate(3deg);
|
||||
-o-transform: rotate(3deg);
|
||||
}
|
||||
|
||||
.rotright4 {
|
||||
-webkit-transform: rotate(4deg);
|
||||
-moz-transform: rotate(4deg);
|
||||
-ms-transform: rotate(4deg);
|
||||
-o-transform: rotate(4deg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** acl **/
|
||||
@ -1793,24 +1948,6 @@ input#dfrn-url {
|
||||
/** /acl **/
|
||||
|
||||
|
||||
.comment-edit-text-empty {
|
||||
color: gray;
|
||||
height: 5em;
|
||||
width: 175px;
|
||||
overflow: auto;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.comment-wwedit-wrapper.threaded > .comment-edit-form > .comment-edit-text-empty {
|
||||
height: 1.5em;
|
||||
}
|
||||
|
||||
.comment-edit-text-full {
|
||||
color: black;
|
||||
height: 150px;
|
||||
width: 350px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#group-new-submit-wrapper {
|
||||
margin-top: 30px;
|
||||
|
@ -1,57 +1,45 @@
|
||||
<h3>$regtitle</h3>
|
||||
<h2>$title</h2>
|
||||
|
||||
<form action="register" method="post" id="register-form">
|
||||
|
||||
<input type="hidden" name="photo" value="$photo" />
|
||||
|
||||
$registertext
|
||||
|
||||
<p id="register-realpeople">$realpeople</p>
|
||||
|
||||
<p id="register-fill-desc">$fillwith</p>
|
||||
<p id="register-fill-ext">$fillext</p>
|
||||
|
||||
{{ if $invitations }}
|
||||
|
||||
<p id="register-invite-desc">$invite_desc</p>
|
||||
<div id="register-invite-wrapper" >
|
||||
<label for="register-invite" id="label-register-invite" >$invite_label</label>
|
||||
<input type="text" maxlength="60" size="32" name="invite_id" id="register-invite" value="$invite_id" >
|
||||
</div>
|
||||
<div id="register-name-end" ></div>
|
||||
|
||||
{{ if $registertext }}
|
||||
<div id="register-desc" class="descriptive-paragraph">$registertext</div>
|
||||
{{ endif }}
|
||||
|
||||
{{ if $invitations }}
|
||||
<p id="register-invite-desc">$invite_desc</p>
|
||||
|
||||
<div id="register-name-wrapper" >
|
||||
<label for="register-name" id="label-register-name" >$namelabel</label>
|
||||
<input type="text" maxlength="60" size="32" name="username" id="register-name" value="$username" >
|
||||
</div>
|
||||
<div id="register-name-end" ></div>
|
||||
<label for="register-invite" id="label-register-invite" class="register-label">$label_invite</label>
|
||||
<input type="text" maxlength="72" size="32" name="invite_code" id="register-invite" class="register-input" value="$invite_code" />
|
||||
<div id="register-invite-feedback" class="register-feedback"></div>
|
||||
<div id="register-invite-end" class="register-field-end"></div>
|
||||
{{ endif }}
|
||||
|
||||
<label for="register-email" id="label-register-email" class="register-label" >$label_email</label>
|
||||
<input type="text" maxlength="72" size="32" name="email" id="register-email" class="register-input" value="$email" />
|
||||
<div id="register-email-feedback" class="register-feedback"></div>
|
||||
<div id="register-email-end" class="register-field-end"></div>
|
||||
|
||||
<div id="register-email-wrapper" >
|
||||
<label for="register-email" id="label-register-email" >$addrlabel</label>
|
||||
<input type="text" maxlength="60" size="32" name="email" id="register-email" value="$email" >
|
||||
</div>
|
||||
<div id="register-email-end" ></div>
|
||||
<label for="register-password" id="label-register-password" class="register-label" >$label_pass1</label>
|
||||
<input type="password" maxlength="72" size="32" name="password" id="register-password" class="register-input" value="$pass1" />
|
||||
<div id="register-password-feedback" class="register-feedback"></div>
|
||||
<div id="register-password-end" class="register-field-end"></div>
|
||||
|
||||
<p id="register-nickname-desc" >$nickdesc</p>
|
||||
<label for="register-password2" id="label-register-password2" class="register-label" >$label_pass2</label>
|
||||
<input type="password" maxlength="72" size="32" name="password2" id="register-password2" class="register-input" value="$pass2" />
|
||||
<div id="register-password2-feedback" class="register-feedback"></div>
|
||||
<div id="register-password2-end" class="register-field-end"></div>
|
||||
|
||||
<div id="register-nickname-wrapper" >
|
||||
<label for="register-nickname" id="label-register-nickname" >$nicklabel</label>
|
||||
<input type="text" maxlength="60" size="32" name="nickname" id="register-nickname" value="$nickname" ><div id="register-sitename">@$sitename</div>
|
||||
</div>
|
||||
<div id="register-nickname-end" ></div>
|
||||
{{ if $enable_tos }}
|
||||
<input type="checkbox" name="tos" id="register-tos" value="1" />
|
||||
<label for="register-tos" id="label-register-tos">$label_tos</label>
|
||||
<div id="register-tos-feedback" class="register-feedback"></div>
|
||||
<div id="register-tos-end" class="register-field-end"></div>
|
||||
{{ else }}
|
||||
<input type="hidden" name="tos" value="1" />
|
||||
{{ endif }}
|
||||
|
||||
$publish
|
||||
<input type="submit" name="submit" id="register-submit-button" value="$submit" />
|
||||
<div id="register-submit-end" class="register-field-end"></div>
|
||||
|
||||
<div id="register-submit-wrapper">
|
||||
<input type="submit" name="submit" id="register-submit-button" value="$regbutt" />
|
||||
</div>
|
||||
<div id="register-submit-end" ></div>
|
||||
</form>
|
||||
|
||||
$license
|
||||
|
||||
|
||||
|
@ -6,25 +6,28 @@
|
||||
{{endif}}
|
||||
<div id="tread-wrapper-$item.id" class="tread-wrapper $item.toplevel">
|
||||
<a name="$item.id" ></a>
|
||||
{{ if $item.threaded }}
|
||||
<div class="wall-item-outside-wrapper $item.indent$item.previewing threaded" id="wall-item-outside-wrapper-$item.id" >
|
||||
{{ else }}
|
||||
<div class="wall-item-outside-wrapper $item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >
|
||||
{{ endif }}
|
||||
<div class="wall-item-outside-wrapper $item.indent$item.previewing{{ if $item.owner_url }} wallwall{{ endif }}" id="wall-item-outside-wrapper-$item.id" >
|
||||
<div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
|
||||
<div class="wall-item-info" id="wall-item-info-$item.id">
|
||||
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
|
||||
<div class="wall-item-info{{ if $item.owner_url }} wallwall{{ endif }}" id="wall-item-info-$item.id">
|
||||
{{ if $item.owner_url }}
|
||||
<div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-$item.id" >
|
||||
<a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-photo-link" id="wall-item-ownerphoto-link-$item.id">
|
||||
<img src="$item.owner_photo" class="wall-item-photo$item.osparkle" id="wall-item-ownerphoto-$item.id" style="height: 80px; width: 80px;" alt="$item.owner_name" /></a>
|
||||
</div>
|
||||
<div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="$item.wall" /></div>
|
||||
{{ endif }}
|
||||
<div class="wall-item-photo-wrapper{{ if $item.owner_url }} wwfrom{{ endif }}" id="wall-item-photo-wrapper-$item.id"
|
||||
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
|
||||
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
|
||||
<a href="$item.profile_url" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
|
||||
<img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" />
|
||||
</a>
|
||||
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$item.id">
|
||||
<img src="$item.thumb" class="wall-item-photo$item.sparkle" id="wall-item-photo-$item.id" style="height: 80px; width: 80px;" alt="$item.name" /></a>
|
||||
<span onclick="openClose('wall-item-photo-menu-$item.id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$item.id">menu</span>
|
||||
<div class="wall-item-photo-menu" id="wall-item-photo-menu-$item.id">
|
||||
<ul>
|
||||
$item.item_photo_menu
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="wall-item-photo-end"></div>
|
||||
<div class="wall-item-wrapper" id="wall-item-wrapper-$item.id" >
|
||||
@ -34,9 +37,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-author">
|
||||
<a href="$item.profile_url" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
|
||||
<div class="wall-item-ago" id="wall-item-ago-$item.id" >$item.ago</div>
|
||||
|
||||
<a href="$item.profile_url" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>{{ if $item.owner_url }} $item.to <a href="$item.owner_url" target="redir" title="$item.olinktitle" class="wall-item-name-link"><span class="wall-item-name$item.osparkle" id="wall-item-ownername-$item.id">$item.owner_name</span></a> $item.vwall{{ endif }}<br />
|
||||
<div class="wall-item-ago" id="wall-item-ago-$item.id" title="$item.localtime">$item.ago</div>
|
||||
</div>
|
||||
<div class="wall-item-content" id="wall-item-content-$item.id" >
|
||||
<div class="wall-item-title" id="wall-item-title-$item.id">$item.title</div>
|
||||
@ -47,6 +49,15 @@
|
||||
<span class='tag'>$tag</span>
|
||||
{{ endfor }}
|
||||
</div>
|
||||
{{ if $item.has_cats }}
|
||||
<div class="categorytags"><span>$item.txt_cats {{ for $item.categories as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
|
||||
</div>
|
||||
{{ endif }}
|
||||
|
||||
{{ if $item.has_folders }}
|
||||
<div class="filesavetags"><span>$item.txt_folders {{ for $item.folders as $cat }}$cat.name <a href="$cat.removeurl" title="$remove">[$remove]</a> {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
|
||||
</div>
|
||||
{{ endif }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="wall-item-tools" id="wall-item-tools-$item.id">
|
||||
@ -59,7 +70,7 @@
|
||||
</div>
|
||||
{{ endif }}
|
||||
{{ if $item.plink }}
|
||||
<div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" class="icon remote-link$item.sparkle"></a></div>
|
||||
<div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link$item.sparkle"></a></div>
|
||||
{{ endif }}
|
||||
{{ if $item.edpost }}
|
||||
<a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
|
||||
@ -72,10 +83,11 @@
|
||||
{{ if $item.filer }}
|
||||
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
|
||||
{{ endif }}
|
||||
|
||||
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
|
||||
{{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
|
||||
</div>
|
||||
{{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
|
||||
{{ if $item.drop.pagedrop }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
|
||||
<div class="wall-item-delete-end"></div>
|
||||
</div>
|
||||
</div>
|
||||
@ -97,13 +109,10 @@
|
||||
{{ inc $item.template }}{{ endinc }}
|
||||
{{ endfor }}
|
||||
|
||||
{{ if $item.comment }}
|
||||
{{ if $item.flatten }}
|
||||
<div class="wall-item-comment-wrapper" >
|
||||
$item.comment
|
||||
</div>
|
||||
{{ endif }}
|
||||
{{ endif }}
|
||||
</div>
|
||||
{{if $item.comment_lastcollapsed}}</div>{{endif}}
|
||||
|
||||
|
@ -1,45 +0,0 @@
|
||||
<h2>$title</h2>
|
||||
|
||||
<form action="zregister" method="post" id="zregister-form">
|
||||
|
||||
{{ if $registertext }}
|
||||
<div id="zregister-desc" class="descriptive-paragraph">$registertext</div>
|
||||
{{ endif }}
|
||||
|
||||
{{ if $invitations }}
|
||||
<p id="register-invite-desc">$invite_desc</p>
|
||||
|
||||
<label for="zregister-invite" id="label-zregister-invite" class="zregister-label">$label_invite</label>
|
||||
<input type="text" maxlength="72" size="32" name="invite_code" id="zregister-invite" class="zregister-input" value="$invite_code" />
|
||||
<div id="zregister-invite-feedback" class="zregister-feedback"></div>
|
||||
<div id="zregister-invite-end" class="zregister-field-end"></div>
|
||||
{{ endif }}
|
||||
|
||||
<label for="zregister-email" id="label-zregister-email" class="zregister-label" >$label_email</label>
|
||||
<input type="text" maxlength="72" size="32" name="email" id="zregister-email" class="zregister-input" value="$email" />
|
||||
<div id="zregister-email-feedback" class="zregister-feedback"></div>
|
||||
<div id="zregister-email-end" class="zregister-field-end"></div>
|
||||
|
||||
<label for="zregister-password" id="label-zregister-password" class="zregister-label" >$label_pass1</label>
|
||||
<input type="password" maxlength="72" size="32" name="password" id="zregister-password" class="zregister-input" value="$pass1" />
|
||||
<div id="zregister-password-feedback" class="zregister-feedback"></div>
|
||||
<div id="zregister-password-end" class="zregister-field-end"></div>
|
||||
|
||||
<label for="zregister-password2" id="label-zregister-password2" class="zregister-label" >$label_pass2</label>
|
||||
<input type="password" maxlength="72" size="32" name="password2" id="zregister-password2" class="zregister-input" value="$pass2" />
|
||||
<div id="zregister-password2-feedback" class="zregister-feedback"></div>
|
||||
<div id="zregister-password2-end" class="zregister-field-end"></div>
|
||||
|
||||
{{ if $enable_tos }}
|
||||
<input type="checkbox" name="tos" id="zregister-tos" value="1" />
|
||||
<label for="zregister-tos" id="label-zregister-tos">$label_tos</label>
|
||||
<div id="zregister-tos-feedback" class="zregister-feedback"></div>
|
||||
<div id="zregister-tos-end" class="zregister-field-end"></div>
|
||||
{{ else }}
|
||||
<input type="hidden" name="tos" value="1" />
|
||||
{{ endif }}
|
||||
|
||||
<input type="submit" name="submit" id="zregister-submit-button" value="$submit" />
|
||||
<div id="zregister-submit-end" class="zregister-field-end"></div>
|
||||
|
||||
</form>
|
Reference in New Issue
Block a user