The Red Project
 All Classes Namespaces Files Functions Variables Pages
text.php File Reference

Functions

 replace_macros ($s, $r)
 
 random_string ($size=64, $type=RANDOM_STRING_HEX)
 
 notags ($string)
 
 escape_tags ($string)
 
 autoname ($len)
 
 xmlify ($str)
 
 unxmlify ($s)
 
if(!function_exists('hex2bin')) paginate (&$a)
 
 alt_pager (&$a, $i, $more= '', $less= '')
 
 expand_acl ($s)
 
 sanitise_acl (&$item)
 
 perms2str ($p)
 
 item_message_id ()
 
 photo_new_resource ()
 
 attribute_contains ($attr, $s)
 
 logger ($msg, $level=0)
 
 dlogger ($msg, $level=0)
 
 profiler ($t1, $t2, $label)
 
 activity_match ($haystack, $needle)
 
 get_tags ($s)
 
 qp ($s)
 
 get_mentions ($item, $tags)
 
 contact_block ()
 
 chanlink_hash ($s)
 
 chanlink_url ($s)
 
 chanlink_cid ($d)
 
 magiclink_url ($observer, $myaddr, $url)
 
 micropro ($contact, $redirect=false, $class= '', $textmode=false)
 
 search ($s, $id='search-box', $url='/search', $save=false)
 
 valid_email ($x)
 
 linkify ($s)
 
 get_poke_verbs ()
 
 get_mood_verbs ()
 
 smilies ($s, $sample=false)
 
 smile_encode ($m)
 
 smile_decode ($m)
 
 preg_heart ($x)
 
 day_translate ($s)
 
 normalise_link ($url)
 
 link_compare ($a, $b)
 
 prepare_body ($item, $attach=false)
 
 prepare_text ($text)
 
 feed_hublinks ()
 
 feed_salmonlinks ($nick)
 
 get_plink ($item)
 
 unamp ($s)
 
 lang_selector ()
 
 return_bytes ($size_str)
 
 generate_user_guid ()
 
 base64url_encode ($s, $strip_padding=true)
 
 base64url_decode ($s)
 
 cleardiv ()
 
 bb_translate_video ($s)
 
 html2bb_video ($s)
 
 array_xmlify ($val)
 
 reltoabs ($text, $base)
 
 item_post_type ($item)
 
 file_tag_encode ($s)
 
 file_tag_decode ($s)
 
 file_tag_file_query ($table, $s, $type= 'file')
 
 term_query ($table, $s, $type=TERM_UNKNOWN)
 
 file_tag_list_to_file ($list, $type= 'file')
 
 file_tag_file_to_list ($file, $type= 'file')
 
 file_tag_update_pconfig ($uid, $file_old, $file_new, $type= 'file')
 
 store_item_tag ($uid, $iid, $otype, $type, $term, $url= '')
 
 get_terms_oftype ($arr, $type)
 
 format_term_for_display ($term)
 
 file_tag_save_file ($uid, $item, $file)
 
 file_tag_unsave_file ($uid, $item, $file, $cat=false)
 
 normalise_openid ($s)
 
 undo_post_tagging ($s)
 
 fix_mce_lf ($s)
 
 protect_sprintf ($s)
 
 is_a_date_arg ($s)
 
 legal_webbie ($s)
 
 check_webbie ($arr)
 
 ids_to_querystr ($arr, $idx= 'id')
 
 xchan_query (&$items, $abook=false)
 
 xchan_mail_query (&$item)
 
 find_xchan_in_array ($xchan, $arr)
 
 get_rel_link ($j, $rel)
 
 magic_link ($s)
 
 stringify_array_elms (&$arr, $escape=false)
 
 jindent ($json)
 
 tagadelic ($uid, $count=0, $type=TERM_HASHTAG)
 
 tags_sort ($a, $b)
 
 tagblock ($link, $uid, $count=0, $type=TERM_HASHTAG)
 

Variables

const RANDOM_STRING_HEX 0x00
 
const RANDOM_STRING_TEXT 0x01
 

Function Documentation

alt_pager ( $a,
  $i,
  $more = '',
  $less = '' 
)
array_xmlify (   $val)

apply xmlify() to all values of array $val, recursively

Referenced by api_apply_template(), and poco_init().

attribute_contains (   $attr,
  $s 
)

Referenced by lrdd().

autoname (   $len)
bb_translate_video (   $s)

Referenced by item_post().

chanlink_cid (   $d)
chanlink_hash (   $s)

Referenced by message_content(), and micropro().

check_webbie (   $arr)
contact_block ( )

Referenced by profile_sidebar().

dlogger (   $msg,
  $level = 0 
)
expand_acl (   $s)
feed_hublinks ( )

return atom link elements for all of our hubs

Referenced by get_feed_for().

feed_salmonlinks (   $nick)

Referenced by get_feed_for().

file_tag_decode (   $s)

Referenced by file_tag_file_to_list().

file_tag_file_query (   $table,
  $s,
  $type = 'file' 
)
file_tag_file_to_list (   $file,
  $type = 'file' 
)
file_tag_list_to_file (   $list,
  $type = 'file' 
)

Referenced by file_tag_update_pconfig().

file_tag_save_file (   $uid,
  $item,
  $file 
)
file_tag_unsave_file (   $uid,
  $item,
  $file,
  $cat = false 
)
file_tag_update_pconfig (   $uid,
  $file_old,
  $file_new,
  $type = 'file' 
)
fix_mce_lf (   $s)
format_term_for_display (   $term)
generate_user_guid ( )
get_mentions (   $item,
  $tags 
)

Referenced by atom_entry().

get_mood_verbs ( )

Referenced by mood_content(), and mood_init().

get_plink (   $item)

Referenced by Item\get_template_data().

get_poke_verbs ( )

Referenced by poke_content(), and poke_init().

get_rel_link (   $j,
  $rel 
)

Referenced by localize_item().

get_tags (   $s)

Referenced by item_post(), and photos_post().

get_terms_oftype (   $arr,
  $type 
)
html2bb_video (   $s)
ids_to_querystr (   $arr,
  $idx = 'id' 
)
is_a_date_arg (   $s)
item_post_type (   $item)

Referenced by notification().

jindent (   $json)

Indents a flat JSON string to make it more human-readable.

Parameters
string$jsonThe original JSON string to process.
Returns
string Indented version of the original JSON string.
lang_selector ( )

Referenced by nav().

legal_webbie (   $s)

Referenced by check_webbie(), and new_channel_init().

link_compare (   $a,
  $b 
)

Compare two URLs to see if they are the same, but ignore slight but hopefully insignificant differences such as if one is https and the other isn't, or if one is www.something and the other isn't - and also ignore case differences.

Return true if the URLs match, otherwise false.

Referenced by consume_feed(), local_delivery(), tag_deliver(), tgroup_check(), and zid().

linkify (   $s)

Function: linkify

Replace naked text hyperlink with HTML formatted hyperlink

Referenced by advanced_profile().

logger (   $msg,
  $level = 0 
)

Referenced by account_verify_password(), Item\add_child(), Conversation\add_thread(), allowed_public_recips(), api_call(), api_export_basic(), api_favorites(), api_get_user(), api_login(), api_statuses_destroy(), api_statuses_mediap(), api_statuses_repeat(), api_statuses_show(), api_statuses_update(), api_statuses_user_timeline(), authenticate_success(), avatar_img(), base64url_decode(), channel_remove(), chanview_content(), check_config(), check_form_security_token_ForbiddenOnErr(), check_form_security_token_redirectOnErr(), consume_feed(), create_account(), create_identity(), crepair_post(), cronhooks_run(), datetime_convert(), delete_imported_item(), deliver_run(), detect_language(), dfrn_deliver(), directory_content(), directory_run(), email_send(), encode_item(), encode_mail(), expire_run(), feed_init(), fetch_lrdd_template(), fetch_xrd_links(), filer_content(), filerm_content(), fix_private_photos(), Conversation\get_template_data(), group_content(), guess_image_type(), http_status_exit(), import_author_xchan(), import_channel_photo(), import_directory_profile(), import_post(), import_profile_photo(), import_xchan(), item_expire(), item_post(), item_store(), item_store_update(), like_content(), load_contact_links(), local_delivery(), FKOAuth1\loginUser(), FKOAuthDataStore\lookup_consumer(), FKOAuthDataStore\lookup_token(), lrdd(), mail_store(), message_content(), message_post(), mini_group_select(), mood_init(), FKOAuthDataStore\new_access_token(), new_contact(), new_keypair(), FKOAuthDataStore\new_request_token(), notification(), notifier_run(), onepoll_run(), parse_url_content(), parse_xml_string(), photo_upload(), photos_post(), ping_init(), poco_init(), poco_load(), poke_init(), poller_run(), post_init(), post_post(), probe_url(), process_delivery(), process_mail_delivery(), process_profile_delivery(), profile_load(), dba\q(), q(), queue_run(), redir_init(), register_content(), Item\remove_child(), remove_queue_item(), scale_external_images(), search_ac_init(), enotify\send(), send_reg_approval_email(), Conversation\set_mode(), subthread_content(), syncdirs(), tag_deliver(), tagger_content(), tgroup_check(), update_imported_item(), update_queue_time(), webfinger(), webfinger_dfrn(), xml2array(), xml_status(), zfinger_init(), zot_build_packet(), zot_fetch(), zot_finger(), zot_gethub(), zot_import(), zot_process_response(), zot_refresh(), and zot_register_hub().

magic_link (   $s)
magiclink_url (   $observer,
  $myaddr,
  $url 
)
micropro (   $contact,
  $redirect = false,
  $class = '',
  $textmode = false 
)

Referenced by contact_block().

normalise_openid (   $s)
notags (   $string)

This is our primary input filter.

The high bit hack only involved some old IE browser, forget which (IE5/Mac?) that had an XSS attack vector due to stripping the high-bit on an 8-bit character after cleansing, and angle chars with the high bit set could get through as markup.

This is now disabled because it was interfering with some legitimate unicode sequences and hopefully there aren't a lot of those browsers left.

Use this on any text input where angle chars are not valid or permitted They will be replaced with safer brackets. This may be filtered further if these are not allowed either.

Referenced by admin_page_logs_post(), admin_page_site_post(), community_content(), connections_content(), consume_feed(), create_account(), directory_content(), dirfind_content(), follow_init(), get_atom_elements(), group_post(), help_content(), invite_post(), item_post(), item_store(), item_store_update(), like_content(), local_delivery(), lostpass_post(), mail_store(), message_post(), mood_init(), network_content(), new_follower(), oexchange_content(), photos_post(), poco_init(), poke_init(), probe_url(), profile_tabs(), profiles_post(), qsearch_init(), register_post(), sanitise_acl(), settings_post(), setup_content(), setup_post(), subthread_content(), tagger_content(), and xrd_init().

perms2str (   $p)
preg_heart (   $x)
prepare_body (   $item,
  $attach = false 
)
prepare_text (   $text)

Referenced by advanced_profile(), and prepare_body().

profiler (   $t1,
  $t2,
  $label 
)

Referenced by network_content().

qp (   $s)
reltoabs (   $text,
  $base 
)

Referenced by get_atom_elements().

replace_macros (   $s,
  $r 
)

Referenced by admin_content(), admin_page_dbsync(), admin_page_logs(), admin_page_plugins(), admin_page_site(), admin_page_summary(), admin_page_themes(), admin_page_users(), advanced_profile(), allfriends_content(), api_apply_template(), api_content(), apps_content(), App\build_pagehead(), categories_widget(), channel_content(), chanview_content(), check_config(), check_php(), common_content(), common_friends_visitor_widget(), connections_content(), construct_page(), contact_block(), crepair_content(), delegate_content(), directory_content(), dirfind_content(), display_content(), editpost_content(), events_content(), fbrowser_content(), field_timezone(), fileas_widget(), filer_content(), findpeople_widget(), follow_widget(), get_birthdays(), Item\get_comment_box(), get_events(), get_feed_for(), group_content(), group_side(), help_content(), hostxrd_init(), import_content(), intro_content(), invite_content(), lang_selector(), login(), lostpass_content(), lostpass_post(), manage_content(), match_content(), message_aside(), message_content(), micropro(), mini_group_select(), mood_content(), nav(), network_content(), new_channel_content(), new_follower(), nogroup_content(), notification(), notifications_content(), notify_content(), oembed_format_object(), oexchange_init(), opensearch_init(), photos_album_widget(), photos_content(), poco_init(), poke_content(), populate_acl(), posted_date_widget(), profile_sidebar(), profile_tabs(), profiles_content(), redbasic_form(), register_content(), removeme_content(), rmagic_content(), saved_searches(), search_content(), send_reg_approval_email(), send_verification_email(), settings_aside(), setup_content(), setup_post(), siteinfo_content(), suggest_content(), user_allow(), vcard_from_xchan(), viewconnections_content(), and xrd_init().

return_bytes (   $size_str)
sanitise_acl ( $item)
search (   $s,
  $id = 'search-box',
  $url = '/search',
  $save = false 
)

Referenced by saved_searches(), and search_content().

smile_decode (   $m)
smile_encode (   $m)
smilies (   $s,
  $sample = false 
)

Function: smilies

Description: Replaces text emoticons with graphical images

: string $s

Returns string

It is expected that this function will be called using HTML text. We will escape text between HTML pre and code blocks from being processed.

At a higher level, the bbcode [nosmile] tag can be used to prevent this function from being executed by the prepare_text() routine when preparing bbcode source for HTML display

Referenced by message_content(), and smilies_content().

store_item_tag (   $uid,
  $iid,
  $otype,
  $type,
  $term,
  $url = '' 
)

Referenced by filer_content().

stringify_array_elms ( $arr,
  $escape = false 
)
tagadelic (   $uid,
  $count = 0,
  $type = TERM_HASHTAG 
)

Referenced by tagblock().

tagblock (   $link,
  $uid,
  $count = 0,
  $type = TERM_HASHTAG 
)
tags_sort (   $a,
  $b 
)
term_query (   $table,
  $s,
  $type = TERM_UNKNOWN 
)

Referenced by network_content().

unamp (   $s)

Referenced by probe_url().

undo_post_tagging (   $s)

Referenced by editpost_content().

unxmlify (   $s)
valid_email (   $x)
xchan_mail_query ( $item)

Referenced by notifier_run().

Variable Documentation

const RANDOM_STRING_HEX 0x00
const RANDOM_STRING_TEXT 0x01

Referenced by aes_encapsulate(), and random_string().