Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Q
question2answer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
outils
question2answer
Commits
b12de3f3
Commit
b12de3f3
authored
Jan 18, 2012
by
Gideon Greenspan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.5
parent
afab146b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
195 additions
and
184 deletions
+195
-184
qa-question.js
qa-content/qa-question.js
+4
-1
qa-app-admin.php
qa-include/qa-app-admin.php
+22
-22
qa-app-blobs.php
qa-include/qa-app-blobs.php
+2
-2
qa-app-cookies.php
qa-include/qa-app-cookies.php
+2
-2
qa-app-emails.php
qa-include/qa-app-emails.php
+2
-2
qa-app-format.php
qa-include/qa-app-format.php
+20
-20
qa-app-limits.php
qa-include/qa-app-limits.php
+3
-3
qa-app-options.php
qa-include/qa-app-options.php
+9
-9
qa-app-q-list.php
qa-include/qa-app-q-list.php
+1
-1
qa-app-users-edit.php
qa-include/qa-app-users-edit.php
+9
-9
qa-app-users.php
qa-include/qa-app-users.php
+30
-28
qa-app-votes.php
qa-include/qa-app-votes.php
+6
-6
qa-base.php
qa-include/qa-base.php
+0
-0
qa-db-blobs.php
qa-include/qa-db-blobs.php
+4
-4
qa-db-cache.php
qa-include/qa-db-cache.php
+2
-2
qa-db-hotness.php
qa-include/qa-db-hotness.php
+1
-1
qa-db-install.php
qa-include/qa-db-install.php
+1
-1
qa-db-points.php
qa-include/qa-db-points.php
+3
-3
qa-db-selects.php
qa-include/qa-db-selects.php
+1
-1
qa-db-users.php
qa-include/qa-db-users.php
+4
-4
qa-db.php
qa-include/qa-db.php
+9
-9
qa-index.php
qa-include/qa-index.php
+1
-1
qa-lang-options.php
qa-include/qa-lang-options.php
+1
-0
qa-page-admin-default.php
qa-include/qa-page-admin-default.php
+2
-1
qa-page-favorites.php
qa-include/qa-page-favorites.php
+2
-2
qa-page-forgot.php
qa-include/qa-page-forgot.php
+7
-3
qa-page-login.php
qa-include/qa-page-login.php
+4
-4
qa-page-question-view.php
qa-include/qa-page-question-view.php
+14
-11
qa-page-reset.php
qa-include/qa-page-reset.php
+5
-5
qa-page.php
qa-include/qa-page.php
+7
-7
qa-theme-base.php
qa-include/qa-theme-base.php
+2
-1
qa-util-sort.php
qa-include/qa-util-sort.php
+1
-5
qa-util-string.php
qa-include/qa-util-string.php
+14
-14
No files found.
qa-content/qa-question.js
View file @
b12de3f3
...
...
@@ -250,7 +250,10 @@ function qa_form_params(formname)
for
(
var
i
=
0
;
i
<
es
.
length
;
i
++
)
{
var
e
=
es
[
i
];
params
[
e
.
name
]
=
e
.
value
;
var
t
=
(
e
.
type
||
''
).
toLowerCase
();
if
(
((
t
!=
'checkbox'
)
&&
(
t
!=
'radio'
))
||
e
.
checked
)
params
[
e
.
name
]
=
e
.
value
;
}
return
params
;
...
...
qa-include/qa-app-admin.php
View file @
b12de3f3
...
...
@@ -64,7 +64,7 @@
Return a sorted array of available languages, [short code] => [long name]
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$codetolanguage
=
array
(
// 2-letter language codes as per ISO 639-1
'ar'
=>
'Arabic - العربية'
,
...
...
@@ -132,7 +132,7 @@
Return a sorted array of available themes, [theme name] => [theme name]
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$options
=
array
();
...
...
@@ -251,109 +251,109 @@
Return the sub navigation structure common to admin pages
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$navigation
=
array
();
if
(
qa_get_logged_in_level
()
>=
QA_USER_LEVEL_ADMIN
)
{
$navigation
[
'admin/general'
]
=
array
(
'label'
=>
qa_lang
(
'admin/general_title'
),
'label'
=>
qa_lang
_html
(
'admin/general_title'
),
'url'
=>
qa_path_html
(
'admin/general'
),
);
$navigation
[
'admin/emails'
]
=
array
(
'label'
=>
qa_lang
(
'admin/emails_title'
),
'label'
=>
qa_lang
_html
(
'admin/emails_title'
),
'url'
=>
qa_path_html
(
'admin/emails'
),
);
$navigation
[
'admin/user'
]
=
array
(
'label'
=>
qa_lang
(
'admin/users_title'
),
'label'
=>
qa_lang
_html
(
'admin/users_title'
),
'url'
=>
qa_path_html
(
'admin/users'
),
);
$navigation
[
'admin/layout'
]
=
array
(
'label'
=>
qa_lang
(
'admin/layout_title'
),
'label'
=>
qa_lang
_html
(
'admin/layout_title'
),
'url'
=>
qa_path_html
(
'admin/layout'
),
);
$navigation
[
'admin/posting'
]
=
array
(
'label'
=>
qa_lang
(
'admin/posting_title'
),
'label'
=>
qa_lang
_html
(
'admin/posting_title'
),
'url'
=>
qa_path_html
(
'admin/posting'
),
);
$navigation
[
'admin/viewing'
]
=
array
(
'label'
=>
qa_lang
(
'admin/viewing_title'
),
'label'
=>
qa_lang
_html
(
'admin/viewing_title'
),
'url'
=>
qa_path_html
(
'admin/viewing'
),
);
$navigation
[
'admin/lists'
]
=
array
(
'label'
=>
qa_lang
(
'admin/lists_title'
),
'label'
=>
qa_lang
_html
(
'admin/lists_title'
),
'url'
=>
qa_path_html
(
'admin/lists'
),
);
if
(
qa_using_categories
())
$navigation
[
'admin/categories'
]
=
array
(
'label'
=>
qa_lang
(
'admin/categories_title'
),
'label'
=>
qa_lang
_html
(
'admin/categories_title'
),
'url'
=>
qa_path_html
(
'admin/categories'
),
);
$navigation
[
'admin/permissions'
]
=
array
(
'label'
=>
qa_lang
(
'admin/permissions_title'
),
'label'
=>
qa_lang
_html
(
'admin/permissions_title'
),
'url'
=>
qa_path_html
(
'admin/permissions'
),
);
$navigation
[
'admin/pages'
]
=
array
(
'label'
=>
qa_lang
(
'admin/pages_title'
),
'label'
=>
qa_lang
_html
(
'admin/pages_title'
),
'url'
=>
qa_path_html
(
'admin/pages'
),
);
$navigation
[
'admin/feeds'
]
=
array
(
'label'
=>
qa_lang
(
'admin/feeds_title'
),
'label'
=>
qa_lang
_html
(
'admin/feeds_title'
),
'url'
=>
qa_path_html
(
'admin/feeds'
),
);
$navigation
[
'admin/points'
]
=
array
(
'label'
=>
qa_lang
(
'admin/points_title'
),
'label'
=>
qa_lang
_html
(
'admin/points_title'
),
'url'
=>
qa_path_html
(
'admin/points'
),
);
$navigation
[
'admin/spam'
]
=
array
(
'label'
=>
qa_lang
(
'admin/spam_title'
),
'label'
=>
qa_lang
_html
(
'admin/spam_title'
),
'url'
=>
qa_path_html
(
'admin/spam'
),
);
$navigation
[
'admin/stats'
]
=
array
(
'label'
=>
qa_lang
(
'admin/stats_title'
),
'label'
=>
qa_lang
_html
(
'admin/stats_title'
),
'url'
=>
qa_path_html
(
'admin/stats'
),
);
if
(
!
QA_FINAL_EXTERNAL_USERS
)
$navigation
[
'admin/mailing'
]
=
array
(
'label'
=>
qa_lang
(
'admin/mailing_title'
),
'label'
=>
qa_lang
_html
(
'admin/mailing_title'
),
'url'
=>
qa_path_html
(
'admin/mailing'
),
);
$navigation
[
'admin/plugins'
]
=
array
(
'label'
=>
qa_lang
(
'admin/plugins_title'
),
'label'
=>
qa_lang
_html
(
'admin/plugins_title'
),
'url'
=>
qa_path_html
(
'admin/plugins'
),
);
}
if
(
!
qa_user_permit_error
(
'permit_moderate'
))
$navigation
[
'admin/moderate'
]
=
array
(
'label'
=>
qa_lang
(
'admin/moderate_title'
),
'label'
=>
qa_lang
_html
(
'admin/moderate_title'
),
'url'
=>
qa_path_html
(
'admin/moderate'
),
);
if
(
qa_opt
(
'flagging_of_posts'
)
&&
!
qa_user_permit_error
(
'permit_hide_show'
))
$navigation
[
'admin/flagged'
]
=
array
(
'label'
=>
qa_lang
(
'admin/flagged_title'
),
'label'
=>
qa_lang
_html
(
'admin/flagged_title'
),
'url'
=>
qa_path_html
(
'admin/flagged'
),
);
if
(
(
!
qa_user_permit_error
(
'permit_hide_show'
))
||
(
!
qa_user_permit_error
(
'permit_delete_hidden'
))
)
$navigation
[
'admin/hidden'
]
=
array
(
'label'
=>
qa_lang
(
'admin/hidden_title'
),
'label'
=>
qa_lang
_html
(
'admin/hidden_title'
),
'url'
=>
qa_path_html
(
'admin/hidden'
),
);
...
...
qa-include/qa-app-blobs.php
View file @
b12de3f3
...
...
@@ -35,7 +35,7 @@
Return the URL which will output $blobid from the database when requested, $absolute or relative
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
qa_path
(
'blob'
,
array
(
'qa_blobid'
=>
$blobid
),
$absolute
?
qa_opt
(
'site_url'
)
:
null
,
QA_URL_FORMAT_PARAMS
);
}
...
...
@@ -46,7 +46,7 @@
Return the maximum size of file that can be uploaded, based on database and PHP limits
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$mindb
=
16777215
;
// from MEDIUMBLOB column type
...
...
qa-include/qa-app-cookies.php
View file @
b12de3f3
...
...
@@ -35,7 +35,7 @@
Return the user identification cookie sent by the browser for this page request, or null if none
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
isset
(
$_COOKIE
[
'qa_id'
])
?
qa_gpc_to_string
(
$_COOKIE
[
'qa_id'
])
:
null
;
}
...
...
@@ -47,7 +47,7 @@
Either way, extend for another year (this is used when an anonymous post is created)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-cookies.php'
;
...
...
qa-include/qa-app-emails.php
View file @
b12de3f3
...
...
@@ -51,7 +51,7 @@
corresponding value, plus applying some standard substitutions such as ^site_title, ^handle and ^email.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_notifications_suspended
;
...
...
@@ -117,7 +117,7 @@
fromname, toemail, toname, subject, body, html
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-class.phpmailer.php'
;
...
...
qa-include/qa-app-format.php
View file @
b12de3f3
...
...
@@ -38,7 +38,7 @@
Return textual representation of $seconds
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$seconds
=
max
(
$seconds
,
1
);
...
...
@@ -133,7 +133,7 @@
Convert textual $tag to HTML representation
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
'<A HREF="'
.
qa_path_html
(
'tag/'
.
$tag
)
.
'"'
.
(
$microformats
?
' rel="tag"'
:
''
)
.
' CLASS="qa-tag-link">'
.
qa_html
(
$tag
)
.
'</A>'
;
}
...
...
@@ -191,7 +191,7 @@
Return HTML to use for $ip address, which links to appropriate page with $anchorhtml
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
!
strlen
(
$anchorhtml
))
$anchorhtml
=
qa_html
(
$ip
);
...
...
@@ -210,7 +210,7 @@
If something is missing from $post (e.g. ['content']), correponding HTML also omitted.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-updates.php'
;
...
...
@@ -532,7 +532,7 @@
Return array of split HTML (prefix, data, suffix) to represent author of post
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
isset
(
$postuserid
)
&&
isset
(
$usershtml
[
$postuserid
]))
{
$whohtml
=
$usershtml
[
$postuserid
];
...
...
@@ -559,7 +559,7 @@
more than $fulldatedays ago
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$interval
=
qa_opt
(
'db_time'
)
-
$timestamp
;
...
...
@@ -587,7 +587,7 @@
$userid, $cookieid, $usershtml, $options are passed through to qa_post_html_fields().
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-updates.php'
;
...
...
@@ -727,7 +727,7 @@
Return it sorted by the date appropriate for each element, without removing duplicate references to the same question.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-sort.php'
;
...
...
@@ -746,7 +746,7 @@
Return it sorted by the date appropriate for each element, and keep only the first item related to each question.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-sort.php'
;
...
...
@@ -818,7 +818,7 @@
So this is something quick and dirty that should do the trick in most cases
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
trim
(
preg_replace
(
'/([^A-Za-z0-9])((http|https|ftp):\/\/([^\s&<>"\'\.])+\.([^\s&<>"\']|&)+)/i'
,
'\1<A HREF="\2" rel="nofollow"'
.
(
$newwindow
?
' target="_blank"'
:
''
)
.
'>\2</A>'
,
' '
.
$html
.
' '
));
}
...
...
@@ -829,7 +829,7 @@
Return HTML representation of $url (if it appears to be an URL), linked with nofollow and in a new window if $newwindow
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
is_numeric
(
strpos
(
$url
,
'.'
)))
{
$linkurl
=
$url
;
...
...
@@ -876,7 +876,7 @@
Show links to $prevnext pages before and after this one and include $params in the URLs.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$thispage
=
1
+
floor
(
$start
/
$pagesize
);
$lastpage
=
ceil
(
min
(
$count
,
1
+
QA_MAX_LIMIT_START
)
/
$pagesize
);
...
...
@@ -934,7 +934,7 @@
it's not null) and also popular tags if $usingtags is true
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$hascategory
=
strlen
(
$categoryrequest
);
...
...
@@ -959,7 +959,7 @@
Return HTML that suggest getting things started by asking a question, in $categoryid if not null
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$htmlmessage
=
qa_lang_html
(
'main/suggest_ask'
);
...
...
@@ -980,7 +980,7 @@
and links beginning with $pathprefix, and showing question counts if $showqcount
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$parentcategories
=
array
();
...
...
@@ -998,7 +998,7 @@
Recursion function used by qa_category_navigation(...) to build hierarchical category menu.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$navigation
=
array
();
...
...
@@ -1382,7 +1382,7 @@
Return the theme that should be used for displaying the page
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
qa_opt
(
qa_is_mobile_probably
()
?
'site_theme_mobile'
:
'site_theme'
);
}
...
...
@@ -1394,7 +1394,7 @@
Also applies any registered plugin layers.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_layers
;
...
...
@@ -1602,7 +1602,7 @@
Constrain the image to $size (width AND height) and pad it to that size if $padding is true
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-image.php'
;
...
...
@@ -1632,7 +1632,7 @@
Return the <IMG...> HTML to display the Gravatar for $email, constrained to $size
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
$size
>
0
)
return
'<IMG SRC="http://www.gravatar.com/avatar/'
.
md5
(
strtolower
(
trim
(
$email
)))
.
'?s='
.
(
int
)
$size
.
...
...
qa-include/qa-app-limits.php
View file @
b12de3f3
...
...
@@ -47,7 +47,7 @@
where $action is one of the QA_LIMIT_* constants defined above.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-options.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-db-limits.php'
;
...
...
@@ -118,7 +118,7 @@
Return whether the requesting IP address has been blocked from write operations
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$blockipclauses
=
qa_block_ips_explode
(
qa_opt
(
'block_ips_write'
));
...
...
@@ -178,7 +178,7 @@
where $action is one of the QA_LIMIT_* constants defined above.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-limits.php'
;
...
...
qa-include/qa-app-options.php
View file @
b12de3f3
...
...
@@ -155,7 +155,7 @@
Load the options from the $results of the database selectspecs defined in qa_preload_options()
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_options_cache
,
$qa_options_loaded
;
...
...
@@ -173,7 +173,7 @@
$todatabase=false, in which case set it in the cache only
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_options_cache
;
...
...
@@ -189,7 +189,7 @@
Reset the options in $names to their defaults
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
foreach
(
$names
as
$name
)
qa_set_option
(
$name
,
qa_default_option
(
$name
));
...
...
@@ -201,7 +201,7 @@
Return the default value for option $name
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$fixed_defaults
=
array
(
'allow_change_usernames'
=>
1
,
...
...
@@ -398,7 +398,7 @@
break
;
case
'custom_sidebar'
:
$value
=
qa_lang_sub
(
'options/default_sidebar'
,
qa_html
(
qa_opt
(
'site_title'
)));
$value
=
qa_lang_
html_
sub
(
'options/default_sidebar'
,
qa_html
(
qa_opt
(
'site_title'
)));
break
;
case
'editor_for_qs'
:
...
...
@@ -513,7 +513,7 @@
Return an array of defaults for the $options parameter passed to qa_post_html_fields() and its ilk
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-users.php'
;
...
...
@@ -549,7 +549,7 @@
with buttons enabled if appropriate (based on whether $full post shown) unless $enabledif is false.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$disabledsuffix
=
''
;
...
...
@@ -612,7 +612,7 @@
Return the regular expression fragment to match the blocked words options set in the database
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_blockwordspreg
,
$qa_blockwordspreg_set
;
...
...
@@ -667,7 +667,7 @@
Return an array of relevant permissions settings, based on other options
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$permits
=
array
(
'permit_view_q_page'
,
'permit_post_q'
,
'permit_post_a'
);
...
...
qa-include/qa-app-q-list.php
View file @
b12de3f3
...
...
@@ -48,7 +48,7 @@
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-format.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-updates.php'
;
...
...
qa-include/qa-app-users-edit.php
View file @
b12de3f3
...
...
@@ -116,7 +116,7 @@
}
}
qa_fatal_error
(
'Could not create a valid and unique handle
'
);
qa_fatal_error
(
'Could not create a valid and unique handle
from: '
.
$handle
);
}
...
...
@@ -155,7 +155,7 @@
Handles user points, notification and optional email confirmation.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-db-points.php'
;
...
...
@@ -207,7 +207,7 @@
Handles recalculations of votes and flags for posts this user has affected.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-votes.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
...
...
@@ -235,7 +235,7 @@
Set a new email confirmation code for the user and send it out
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-db-selects.php'
;
...
...
@@ -255,7 +255,7 @@
Set a new email confirmation code for the user and return the corresponding link
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
...
...
@@ -271,7 +271,7 @@
Complete the email confirmation process for the user
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-cookies.php'
;
...
...
@@ -291,7 +291,7 @@
Start the 'I forgot my password' process for $userid, sending reset code
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-options.php'
;
...
...
@@ -315,7 +315,7 @@
Successfully finish the 'I forgot my password' process for $userid, sending new password
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-string.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-options.php'
;
...
...
@@ -358,7 +358,7 @@
Set the avatar of $userid to the image in $imagedata, and remove $oldblobid from the database if not null
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-image.php'
;
...
...
qa-include/qa-app-users.php
View file @
b12de3f3
...
...
@@ -121,7 +121,7 @@
Open a PHP session if one isn't opened already
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
@
ini_set
(
'session.gc_maxlifetime'
,
86400
);
// worth a try, but won't help in shared hosting environment
@
ini_set
(
'session.use_trans_sid'
,
false
);
// sessions need cookies to work, since we redirect after login
...
...
@@ -137,7 +137,7 @@
Returns a suffix to be used for names of session variables to prevent them being shared between multiple Q2A sites on the same server
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
md5
(
QA_FINAL_MYSQL_HOSTNAME
.
'/'
.
QA_FINAL_MYSQL_USERNAME
.
'/'
.
QA_FINAL_MYSQL_PASSWORD
.
'/'
.
QA_FINAL_MYSQL_DATABASE
.
'/'
.
QA_MYSQL_TABLE_PREFIX
);
}
...
...
@@ -148,7 +148,7 @@
Returns a verification code used to ensure that a user session can't be generated by another PHP script running on the same server
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
sha1
(
$userid
.
'/'
.
QA_MYSQL_TABLE_PREFIX
.
'/'
.
QA_FINAL_MYSQL_DATABASE
.
'/'
.
QA_FINAL_MYSQL_PASSWORD
.
'/'
.
QA_FINAL_MYSQL_USERNAME
.
'/'
.
QA_FINAL_MYSQL_HOSTNAME
);
}
...
...
@@ -160,7 +160,7 @@
Pass true if user checked 'Remember me' (either now or previously, as learned from cookie).
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
// if $remember is true, store in browser for a month, otherwise store only until browser is closed
setcookie
(
'qa_session'
,
$handle
.
'/'
.
$sessioncode
.
'/'
.
(
$remember
?
1
:
0
),
$remember
?
(
time
()
+
2592000
)
:
0
,
'/'
,
QA_COOKIE_DOMAIN
);
...
...
@@ -172,7 +172,7 @@
Remove session cookie from browser
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
setcookie
(
'qa_session'
,
false
,
0
,
'/'
,
QA_COOKIE_DOMAIN
);
}
...
...
@@ -183,7 +183,7 @@
Set the session variables to indicate that $userid is logged in from $source
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$suffix
=
qa_session_var_suffix
();
...
...
@@ -199,7 +199,7 @@
Clear the session variables indicating that a user is logged in
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$suffix
=
qa_session_var_suffix
();
...
...
@@ -215,7 +215,7 @@
$remember states if 'Remember me' was checked in the login form.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-cookies.php'
;
...
...
@@ -265,7 +265,7 @@
A new user is created based on $fields if it's a new combination of $source and $identifier
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
...
...
@@ -318,7 +318,7 @@
Return the userid of the currently logged in user, or null if none logged in
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_logged_in_userid_checked
;
...
...
@@ -366,7 +366,7 @@
Get the source of the currently logged in user, from call to qa_log_in_external_user() or null if logged in normally
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$userid
=
qa_get_logged_in_userid
();
$suffix
=
qa_session_var_suffix
();
...
...
@@ -381,7 +381,7 @@
Return $field of the currently logged in user, cache to ensure only one call to external code
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_cached_logged_in_user
;
...
...
@@ -407,7 +407,7 @@
Return the number of points of the currently logged in user, or null if none is logged in
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
qa_get_logged_in_user_field
(
'points'
);
}
...
...
@@ -427,7 +427,7 @@
Return HTML to display for user with username $handle
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
strlen
(
$handle
)
?
(
'<A HREF="'
.
qa_path_html
(
'user/'
.
$handle
)
.
'" CLASS="qa-user-link'
.
(
$microformats
?
' url nickname'
:
''
)
.
'">'
.
qa_html
(
$handle
)
.
'</A>'
)
:
''
;
...
...
@@ -440,7 +440,7 @@
Pass the user's fields $flags, $email, $handle, and avatar $blobid, $width and $height
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-format.php'
;
...
...
@@ -473,7 +473,7 @@
Called after a database write $action performed by a user $userid
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-users.php'
;
...
...
@@ -486,7 +486,7 @@
Return textual representation of the user $level
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
$level
>=
QA_USER_LEVEL_SUPER
)
$string
=
'users/level_super'
;
...
...
@@ -640,7 +640,7 @@
false => the operation can go ahead
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-limits.php'
;
...
...
@@ -670,7 +670,7 @@
If $userid is currently logged in, you can set $userpoints=null to retrieve them only if necessary.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$permit
=
isset
(
$permitoption
)
?
qa_opt
(
$permitoption
)
:
QA_PERMIT_ALL
;
...
...
@@ -694,7 +694,7 @@
(generally retrieved from an option, but not always). Result as for qa_user_permit_error(...).
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
$permit
>=
QA_PERMIT_ALL
)
$error
=
false
;
...
...
@@ -744,7 +744,7 @@
Return whether a captcha should be presented to the current user for writing posts
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$usecaptcha
=
false
;
...
...
@@ -770,7 +770,7 @@
false => moderation is not required
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$reason
=
false
;
...
...
@@ -779,13 +779,15 @@
qa_user_permit_error
(
'permit_moderate'
)
// if the user can approve posts, no point in moderating theirs
)
{
$userid
=
qa_get_logged_in_userid
();
if
(
qa_opt
(
'moderate_anon_post'
)
&&
!
isset
(
$userid
))
if
(
isset
(
$userid
))
{
if
(
qa_opt
(
'confirm_user_emails'
)
&&
qa_opt
(
'moderate_unconfirmed'
)
&&
!
(
qa_get_logged_in_flags
()
&
QA_USER_FLAGS_EMAIL_CONFIRMED
)
)
$reason
=
'confirm'
;
elseif
(
qa_opt
(
'moderate_by_points'
)
&&
(
qa_get_logged_in_points
()
<
qa_opt
(
'moderate_points_limit'
)))
$reason
=
'points'
;
}
elseif
(
qa_opt
(
'moderate_anon_post'
))
$reason
=
'login'
;
elseif
(
qa_opt
(
'confirm_user_emails'
)
&&
qa_opt
(
'moderate_unconfirmed'
)
&&
!
(
qa_get_logged_in_flags
()
&
QA_USER_FLAGS_EMAIL_CONFIRMED
)
)
$reason
=
'confirm'
;
elseif
(
qa_opt
(
'moderate_by_points'
)
&&
(
qa_get_logged_in_points
()
<
qa_opt
(
'moderate_points_limit'
)))
$reason
=
'points'
;
}
return
$reason
;
...
...
qa-include/qa-app-votes.php
View file @
b12de3f3
...
...
@@ -36,7 +36,7 @@
Return an HTML error to display if there was a problem, or false if it's OK.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-users.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-limits.php'
;
...
...
@@ -85,7 +85,7 @@
Handles user points, recounting and event reports as appropriate.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-points.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-db-hotness.php'
;
...
...
@@ -142,7 +142,7 @@
Return an HTML error to display if there was a problem, or false if it's OK.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-selects.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-options.php'
;
...
...
@@ -188,7 +188,7 @@
Returns true if the post should now be hidden because it has accumulated enough flags.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-votes.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-limits.php'
;
...
...
@@ -230,7 +230,7 @@
Handles recounting and event reports as appropriate.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-votes.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-limits.php'
;
...
...
@@ -265,7 +265,7 @@
Handles recounting and event reports as appropriate.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-votes.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-limits.php'
;
...
...
qa-include/qa-base.php
View file @
b12de3f3
This diff is collapsed.
Click to expand it.
qa-include/qa-db-blobs.php
View file @
b12de3f3
...
...
@@ -35,7 +35,7 @@
Create a new blob in the database with $content and $format, returning its blobid
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
for
(
$attempt
=
0
;
$attempt
<
10
;
$attempt
++
)
{
$blobid
=
qa_db_random_bigint
();
...
...
@@ -60,7 +60,7 @@
Get the content of blob $blobid from the database
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
qa_db_read_one_assoc
(
qa_db_query_sub
(
'SELECT content, format, filename FROM ^blobs WHERE blobid=#'
,
...
...
@@ -74,7 +74,7 @@
Delete blob $blobid in the database
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
qa_db_query_sub
(
'DELETE FROM ^blobs WHERE blobid=#'
,
...
...
@@ -88,7 +88,7 @@
Check if blob $blobid exists in the database
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
qa_db_read_one_value
(
qa_db_query_sub
(
'SELECT COUNT(*) FROM ^blobs WHERE blobid=#'
,
...
...
qa-include/qa-db-cache.php
View file @
b12de3f3
...
...
@@ -37,7 +37,7 @@
Create (or replace) the item ($type, $cacheid) in the database cache table with $content
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
qa_db_query_sub
(
'DELETE FROM ^cache WHERE lastread<NOW()-INTERVAL # SECOND'
,
...
...
@@ -56,7 +56,7 @@
Retrieve the item ($type, $cacheid) from the database cache table
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$content
=
qa_db_read_one_value
(
qa_db_query_sub
(
'SELECT content FROM ^cache WHERE type=$ AND cacheid=#'
,
...
...
qa-include/qa-db-hotness.php
View file @
b12de3f3
...
...
@@ -36,7 +36,7 @@
If $viewincrement is true, also increment the views counter for the post, and include that in the hotness calculation
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
qa_should_update_counts
())
{
if
(
!
isset
(
$lastpostid
))
...
...
qa-include/qa-db-install.php
View file @
b12de3f3
...
...
@@ -67,7 +67,7 @@
and the value is an array of column definitions, [column name] => [definition]. The column name is omitted for indexes.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-db-maxima.php'
;
require_once
QA_INCLUDE_DIR
.
'qa-app-users.php'
;
...
...
qa-include/qa-db-points.php
View file @
b12de3f3
...
...
@@ -35,7 +35,7 @@
Returns an array of option names required to perform calculations in userpoints table
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
array
(
'points_post_q'
,
'points_select_a'
,
'points_per_q_voted_up'
,
'points_per_q_voted_down'
,
'points_q_voted_max_gain'
,
'points_q_voted_max_loss'
,
...
...
@@ -56,7 +56,7 @@
The element 'multiple' specifies what to multiply each column by to create the final sum in the points column.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-app-options.php'
;
...
...
@@ -146,7 +146,7 @@
This dynamically builds some fairly crazy looking SQL, but it works, and saves repeat calculations.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
qa_should_update_counts
()
&&
isset
(
$userid
))
{
require_once
QA_INCLUDE_DIR
.
'qa-app-options.php'
;
...
...
qa-include/qa-db-selects.php
View file @
b12de3f3
...
...
@@ -119,7 +119,7 @@
If $user is true, get information about the user who wrote the post (or cookie if anonymous).
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$selectspec
=
array
(
'columns'
=>
array
(
...
...
qa-include/qa-db-users.php
View file @
b12de3f3
...
...
@@ -35,7 +35,7 @@
Return the expected value for the passcheck column given the $password and password $salt
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
sha1
(
substr
(
$salt
,
0
,
8
)
.
$password
.
substr
(
$salt
,
8
));
}
...
...
@@ -154,7 +154,7 @@
Set the password of $userid to $password, and reset their salt at the same time
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-string.php'
;
...
...
@@ -184,7 +184,7 @@
Return a random string to be used for a user's emailcode column
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-string.php'
;
...
...
@@ -197,7 +197,7 @@
Return a random string to be used for a user's sessioncode column (for browser session cookies)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
require_once
QA_INCLUDE_DIR
.
'qa-util-string.php'
;
...
...
qa-include/qa-db.php
View file @
b12de3f3
...
...
@@ -36,7 +36,7 @@
(before this point, some plugins may not have had a chance to override some database access functions)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_db_allow_connect
;
...
...
@@ -49,7 +49,7 @@
Connect to the Q2A database, select the right database, optionally install the $failhandler (and call it if necessary)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_db_connection
,
$qa_db_fail_handler
,
$qa_db_allow_connect
;
...
...
@@ -100,7 +100,7 @@
If a DB error occurs, call the installed fail handler (if any) otherwise report error and exit immediately
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_db_fail_handler
;
...
...
@@ -121,7 +121,7 @@
Return the current connection to the Q2A database, connecting if necessary and $connect is true
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_db_connection
;
...
...
@@ -141,7 +141,7 @@
Disconnect from the Q2A database
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_db_connection
;
...
...
@@ -163,7 +163,7 @@
If appropriate, also track the resources used by database queries, and the queries themselves, for performance debugging.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
QA_DEBUG_PERFORMANCE
)
{
global
$qa_database_usage
,
$qa_database_queries
;
...
...
@@ -207,7 +207,7 @@
Lower-level function to execute a query, which automatically retries if there is a MySQL deadlock error
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$db
=
qa_db_connection
();
...
...
@@ -229,7 +229,7 @@
Return $string escaped for use in queries to the Q2A database (to which a connection must have been made)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
mysql_real_escape_string
(
$string
,
qa_db_connection
());
}
...
...
@@ -270,7 +270,7 @@
Return the full name (with prefix) of database table $rawname, usually if it used after a ^ symbol
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$prefix
=
QA_MYSQL_TABLE_PREFIX
;
...
...
qa-include/qa-index.php
View file @
b12de3f3
...
...
@@ -52,7 +52,7 @@
function
qa_index_set_request
()
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$relativedepth
=
0
;
...
...
qa-include/qa-lang-options.php
View file @
b12de3f3
...
...
@@ -27,6 +27,7 @@
return
array
(
'allow_change_usernames'
=>
'Allow users with posts to change their username:'
,
'allow_close_questions'
=>
'Allow questions to be manually closed:'
,
'allow_login_email_only'
=>
'Only log in by email address (not username):'
,
'allow_multi_answers'
=>
'Allow multiple answers per user:'
,
'allow_no_category'
=>
'Allow questions with no category'
,
'allow_no_sub_category'
=>
'Allow questions with a category but no sub-category'
,
...
...
qa-include/qa-page-admin-default.php
View file @
b12de3f3
...
...
@@ -134,6 +134,7 @@
'allow_change_usernames'
=>
'checkbox'
,
'allow_close_questions'
=>
'checkbox'
,
'allow_login_email_only'
=>
'checkbox'
,
'allow_multi_answers'
=>
'checkbox'
,
'allow_private_messages'
=>
'checkbox'
,
'allow_self_answer'
=>
'checkbox'
,
...
...
@@ -291,7 +292,7 @@
array_push
(
$showoptions
,
'show_custom_register'
,
'custom_register'
,
'show_notice_welcome'
,
'notice_welcome'
,
'show_custom_welcome'
,
'custom_welcome'
);
array_push
(
$showoptions
,
''
,
'allow_change_usernames'
,
'allow_private_messages'
,
'show_message_history'
,
''
,
'avatar_allow_gravatar'
);
array_push
(
$showoptions
,
''
,
'allow_
login_email_only'
,
'allow_
change_usernames'
,
'allow_private_messages'
,
'show_message_history'
,
''
,
'avatar_allow_gravatar'
);
if
(
qa_has_gd_image
())
array_push
(
$showoptions
,
'avatar_allow_upload'
,
'avatar_store_size'
,
'avatar_default_show'
);
...
...
qa-include/qa-page-favorites.php
View file @
b12de3f3
...
...
@@ -64,6 +64,8 @@
$qa_content
[
'q_list'
]
=
array
(
'title'
=>
count
(
$questions
)
?
qa_lang_html
(
'main/nav_qs'
)
:
qa_lang_html
(
'misc/no_favorite_qs'
),
'qs'
=>
array
(),
);
if
(
count
(
$questions
))
{
...
...
@@ -71,8 +73,6 @@
'tags'
=>
'METHOD="POST" ACTION="'
.
qa_self_html
()
.
'"'
,
);
$qa_content
[
'q_list'
][
'qs'
]
=
array
();
$options
=
qa_post_html_defaults
(
'Q'
);
foreach
(
$questions
as
$question
)
...
...
qa-include/qa-page-forgot.php
View file @
b12de3f3
...
...
@@ -51,10 +51,14 @@
$errors
=
array
();
if
(
strpos
(
$inemailhandle
,
'@'
)
===
false
)
// handles can't contain @ symbols
if
(
strpos
(
$inemailhandle
,
'@'
)
===
false
)
{
// handles can't contain @ symbols
$matchusers
=
qa_db_user_find_by_handle
(
$inemailhandle
);
else
$passemailhandle
=!
qa_opt
(
'allow_login_email_only'
);
}
else
{
$matchusers
=
qa_db_user_find_by_email
(
$inemailhandle
);
$passemailhandle
=
true
;
}
if
(
count
(
$matchusers
)
!=
1
)
// if we get more than one match (should be impossible) also give an error
$errors
[
'emailhandle'
]
=
qa_lang
(
'users/user_not_found'
);
...
...
@@ -65,7 +69,7 @@
if
(
empty
(
$errors
))
{
$inuserid
=
$matchusers
[
0
];
qa_start_reset_user
(
$inuserid
);
qa_redirect
(
'reset'
,
array
(
'e'
=>
$inemailhandle
)
);
// redirect to page where code is entered
qa_redirect
(
'reset'
,
$passemailhandle
?
array
(
'e'
=>
$inemailhandle
)
:
null
);
// redirect to page where code is entered
}
...
...
qa-include/qa-page-login.php
View file @
b12de3f3
...
...
@@ -58,10 +58,10 @@
$errors
=
array
();
if
(
strpos
(
$inemailhandle
,
'@'
)
===
false
)
// handles can't contain @ symbols
$matchusers
=
qa_db_user_find_by_handle
(
$inemailhandle
);
else
if
(
qa_opt
(
'allow_login_email_only'
)
||
(
strpos
(
$inemailhandle
,
'@'
)
!==
false
))
// handles can't contain @ symbols
$matchusers
=
qa_db_user_find_by_email
(
$inemailhandle
);
else
$matchusers
=
qa_db_user_find_by_handle
(
$inemailhandle
);
if
(
count
(
$matchusers
)
==
1
)
{
// if matches more than one (should be impossible), don't log in
$inuserid
=
$matchusers
[
0
];
...
...
@@ -118,7 +118,7 @@
'fields'
=>
array
(
'email_handle'
=>
array
(
'label'
=>
qa_lang_html
(
'users/email_handle_label'
),
'label'
=>
qa_
opt
(
'allow_login_email_only'
)
?
qa_lang_html
(
'users/email_label'
)
:
qa_
lang_html
(
'users/email_handle_label'
),
'tags'
=>
'NAME="emailhandle" ID="emailhandle"'
,
'value'
=>
qa_html
(
@
$inemailhandle
),
'error'
=>
qa_html
(
@
$errors
[
'emailhandle'
]),
...
...
qa-include/qa-page-question-view.php
View file @
b12de3f3
...
...
@@ -91,7 +91,7 @@
posts retrieved from the database, and these will be ignored.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$userid
=
qa_get_logged_in_userid
();
$cookieid
=
qa_cookie_get
();
...
...
@@ -624,7 +624,7 @@
if
(
$parent
[
'commentbutton'
]
&&
qa_opt
(
'show_c_reply_buttons'
)
&&
(
$comment
[
'type'
]
==
'C'
))
$buttons
[
'comment'
]
=
array
(
'tags'
=>
'NAME="'
.
((
$parent
[
'basetype'
]
==
'Q'
)
?
'q'
:
'a'
)
.
qa_html
(
$parent
[
'postid'
]
)
.
'tags'
=>
'NAME="'
.
((
$parent
[
'basetype'
]
==
'Q'
)
?
'q'
:
(
'a'
.
qa_html
(
$parent
[
'postid'
]))
)
.
'_docomment" onClick="return qa_toggle_element(\'c'
.
qa_html
(
$parent
[
'postid'
])
.
'\')"'
,
'label'
=>
qa_lang_html
(
'question/reply_button'
),
'popup'
=>
qa_lang_html
(
'question/reply_c_popup'
),
...
...
@@ -716,12 +716,12 @@
}
function
qa_page_q_add_a_form
(
&
$qa_content
,
$formid
,
$usecaptcha
,
$questionid
,
$in
,
$errors
,
$load
focus
now
,
$formrequested
)
function
qa_page_q_add_a_form
(
&
$qa_content
,
$formid
,
$usecaptcha
,
$questionid
,
$in
,
$errors
,
$loadnow
,
$formrequested
)
/*
Return a $qa_content form for adding an answer to $questionid. Pass an HTML element id to use for the form in
$formid and $usecaptcha if it should contain a captcha. Pass previous inputs from a submitted version of this form
in the array $in and resulting errors in $errors. If $load
focusnow is true, the form will be loaded and focused
immediately. Set
$formrequested to true if the user explicitly requested it, as opposed being shown automatically.
in the array $in and resulting errors in $errors. If $load
now is true, the form will be loaded immediately. Set
$formrequested to true if the user explicitly requested it, as opposed being shown automatically.
*/
{
switch
(
qa_user_permit_error
(
'permit_post_a'
))
{
...
...
@@ -772,7 +772,7 @@
),
'content'
=>
array_merge
(
qa_editor_load_field
(
$editor
,
$qa_content
,
@
$in
[
'content'
],
@
$in
[
'format'
],
'a_content'
,
12
,
$
loadfocusnow
,
$loadfocus
now
),
qa_editor_load_field
(
$editor
,
$qa_content
,
@
$in
[
'content'
],
@
$in
[
'format'
],
'a_content'
,
12
,
$
formrequested
,
$load
now
),
array
(
'error'
=>
qa_html
(
@
$errors
[
'content'
]),
)
...
...
@@ -795,7 +795,7 @@
if
(
!
strlen
(
$custom
))
unset
(
$form
[
'fields'
][
'custom'
]);
if
(
$formrequested
||
!
$load
focus
now
)
if
(
$formrequested
||
!
$loadnow
)
$form
[
'buttons'
][
'cancel'
]
=
array
(
'tags'
=>
'NAME="docancel"'
,
'label'
=>
qa_lang_html
(
'main/cancel_button'
),
...
...
@@ -816,14 +816,17 @@
$onloads
[]
=
'document.getElementById('
.
qa_js
(
$formid
)
.
').qa_show=function() { '
.
$captchaloadscript
.
' }'
;
}
if
(
!
$load
focus
now
)
{
if
(
!
$loadnow
)
{
if
(
method_exists
(
$editor
,
'load_script'
))
$onloads
[]
=
'document.getElementById('
.
qa_js
(
$formid
)
.
').qa_load=function() { '
.
$editor
->
load_script
(
'a_content'
)
.
' }'
;
if
(
method_exists
(
$editor
,
'focus_script'
))
$onloads
[]
=
'document.getElementById('
.
qa_js
(
$formid
)
.
').qa_focus=function() { '
.
$editor
->
focus_script
(
'a_content'
)
.
' }'
;
$form
[
'buttons'
][
'cancel'
][
'tags'
]
.=
' onClick="return qa_toggle_element();"'
;
}
if
(
!
$formrequested
)
{
if
(
method_exists
(
$editor
,
'focus_script'
))
$onloads
[]
=
'document.getElementById('
.
qa_js
(
$formid
)
.
').qa_focus=function() { '
.
$editor
->
focus_script
(
'a_content'
)
.
' }'
;
}
if
(
count
(
$onloads
))
$qa_content
[
'script_onloads'
][]
=
$onloads
;
...
...
@@ -831,7 +834,7 @@
}
$form
[
'id'
]
=
$formid
;
$form
[
'collapse'
]
=!
$load
focus
now
;
$form
[
'collapse'
]
=!
$loadnow
;
$form
[
'style'
]
=
'tall'
;
return
$form
;
...
...
qa-include/qa-page-reset.php
View file @
b12de3f3
...
...
@@ -50,10 +50,10 @@
$errors
=
array
();
if
(
strpos
(
$inemailhandle
,
'@'
)
===
false
)
// handles can't contain @ symbol
$matchusers
=
qa_db_user_find_by_handle
(
$inemailhandle
);
else
if
(
qa_opt
(
'allow_login_email_only'
)
||
(
strpos
(
$inemailhandle
,
'@'
)
!==
false
))
// handles can't contain @ symbols
$matchusers
=
qa_db_user_find_by_email
(
$inemailhandle
);
else
$matchusers
=
qa_db_user_find_by_handle
(
$inemailhandle
);
if
(
count
(
$matchusers
)
==
1
)
{
// if match more than one (should be impossible), consider it a non-match
require_once
QA_INCLUDE_DIR
.
'qa-db-selects.php'
;
...
...
@@ -98,7 +98,7 @@
'fields'
=>
array
(
'email_handle'
=>
array
(
'label'
=>
qa_lang_html
(
'users/email_handle_label'
),
'label'
=>
qa_
opt
(
'allow_login_email_only'
)
?
qa_lang_html
(
'users/email_label'
)
:
qa_
lang_html
(
'users/email_handle_label'
),
'tags'
=>
'NAME="emailhandle" ID="emailhandle"'
,
'value'
=>
qa_html
(
@
$inemailhandle
),
'error'
=>
qa_html
(
@
$errors
[
'emailhandle'
]),
...
...
@@ -125,7 +125,7 @@
),
);
$qa_content
[
'focusid'
]
=
isset
(
$errors
[
'emailhandle'
]
)
?
'emailhandle'
:
'code'
;
$qa_content
[
'focusid'
]
=
(
isset
(
$errors
[
'emailhandle'
])
||
!
strlen
(
@
$inemailhandle
)
)
?
'emailhandle'
:
'code'
;
return
$qa_content
;
...
...
qa-include/qa-page.php
View file @
b12de3f3
...
...
@@ -43,7 +43,7 @@
Standard database failure handler function which bring up the install/repair/upgrade page
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$pass_failure_type
=
$type
;
$pass_failure_errno
=
$errno
;
...
...
@@ -61,7 +61,7 @@
Queue any pending requests which are required independent of which page will be shown
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
qa_preload_options
();
$loginuserid
=
qa_get_logged_in_userid
();
...
...
@@ -113,7 +113,7 @@
If the user has Javascript on, these should come through Ajax rather than here.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_vote_error_html
;
...
...
@@ -176,7 +176,7 @@
Run the appropriate qa-page-*.php file for this request and return back the $qa_content it passed
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$requestlower
=
strtolower
(
qa_request
());
$requestparts
=
qa_request_parts
();
...
...
@@ -214,7 +214,7 @@
Output the $qa_content via the theme class after doing some pre-processing, mainly relating to Javascript
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_template
;
...
...
@@ -362,7 +362,7 @@
If the key of an element ends in /, it should be used for any request with that key as its prefix
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
array
(
'account'
=>
'qa-page-account.php'
,
...
...
@@ -426,7 +426,7 @@
in the context of the categories in $categoryids (if not null)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_template
,
$qa_vote_error_html
;
...
...
qa-include/qa-theme-base.php
View file @
b12de3f3
...
...
@@ -91,7 +91,8 @@
Output each passed parameter on a separate line - see output_array() comments
*/
{
$this
->
output_array
(
func_get_args
());
$args
=
func_get_args
();
$this
->
output_array
(
$args
);
}
...
...
qa-include/qa-util-sort.php
View file @
b12de3f3
...
...
@@ -67,12 +67,8 @@
{
if
(
is_numeric
(
$a
)
&&
is_numeric
(
$b
))
// straight subtraction won't work for floating bits
return
(
$a
==
$b
)
?
0
:
((
$a
<
$b
)
?
-
1
:
1
);
else
{
require_once
QA_INCLUDE_DIR
.
'qa-util-string.php'
;
else
return
strcasecmp
(
$a
,
$b
);
// doesn't do UTF-8 right but it will do for now
}
}
...
...
qa-include/qa-util-string.php
View file @
b12de3f3
...
...
@@ -37,7 +37,7 @@
Set up some global tables to be used by other functions in this file
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_utf8punctuation
,
$qa_utf8removeaccents
;
...
...
@@ -426,7 +426,7 @@
splitting with $splitideographs and $splithyphens.
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_utf8punctuation
;
...
...
@@ -459,7 +459,7 @@
Return UTF-8 input $string with all accents (on Roman characters) removed
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_utf8removeaccents
;
...
...
@@ -472,7 +472,7 @@
Convert an array of tags into a string for storage in the database
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
implode
(
','
,
$tags
);
}
...
...
@@ -483,7 +483,7 @@
Convert a tag string as stored in the database into an array of tags
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
empty
(
$tagstring
)
?
array
()
:
explode
(
','
,
$tagstring
);
}
...
...
@@ -495,7 +495,7 @@
removing words from the middle (and especially towards the end)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$string
=
strtr
(
$string
,
"
\r\n\t
"
,
' '
);
...
...
@@ -539,7 +539,7 @@
Return an array of the words within $wordstring, each of which can contain asterisks
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
preg_split
(
'/'
.
QA_PREG_BLOCK_WORD_SEPARATOR
.
'+/'
,
$wordstring
,
-
1
,
PREG_SPLIT_NO_EMPTY
);
}
...
...
@@ -550,7 +550,7 @@
Return a regular expression fragment corresponding to the block words $wordstring
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
$blockwords
=
qa_block_words_explode
(
$wordsstring
);
$patterns
=
array
();
...
...
@@ -567,7 +567,7 @@
Return an array of matches of the regular expression fragment $wordspreg in $string, [offset] => [length]
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
global
$qa_utf8punctuation
,
$qa_utf8punctuation_keeplength
;
...
...
@@ -602,7 +602,7 @@
Return $string with any words matching the regular expression fragment $wordspreg replaced with repeated $character
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
if
(
strlen
(
$wordspreg
))
{
$matches
=
qa_block_words_match_all
(
$string
,
$wordspreg
);
...
...
@@ -635,7 +635,7 @@
Return true or false to indicate whether $email is a valid email (this is pretty flexible compared to most real emails out there)
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
preg_match
(
"/^[\-\!\#
\$
\%\&\'\*\+\/\=\?\_\`\{\|\}\~a-zA-Z0-9\.\^]+\@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+$/"
,
$email
)
?
true
:
false
;
}
...
...
@@ -646,7 +646,7 @@
Return the number of characters in $string, preferably using PHP's multibyte string functions
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
function_exists
(
'mb_strlen'
)
?
mb_strlen
(
$string
,
'UTF-8'
)
:
strlen
(
$string
);
}
...
...
@@ -657,7 +657,7 @@
Return a lower case version of $string, preferably using PHP's multibyte string functions
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
function_exists
(
'mb_strtolower'
)
?
mb_strtolower
(
$string
,
'UTF-8'
)
:
strtolower
(
$string
);
}
...
...
@@ -668,7 +668,7 @@
Return $length characters from $string, starting from $start, preferably using PHP's multibyte string functions
*/
{
if
(
qa_to_override
(
__FUNCTION__
))
return
qa_call_override
(
__FUNCTION__
,
$args
=
func_get_args
());
if
(
qa_to_override
(
__FUNCTION__
))
{
$args
=
func_get_args
();
return
qa_call_override
(
__FUNCTION__
,
$args
);
}
return
function_exists
(
'mb_substr'
)
?
mb_substr
(
$string
,
$start
,
$length
,
'UTF-8'
)
:
substr
(
$string
,
$start
,
$length
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment