more e2ee infrastructure - at this point if somebody wants it they're going to have to work for it.
This commit is contained in:
		| @@ -99,6 +99,43 @@ function bb_replace_images($body, $images) { | ||||
| }} | ||||
|  | ||||
|  | ||||
|  | ||||
| function bb_parse_crypt($match) { | ||||
|  | ||||
| 	$attributes = $match[1]; | ||||
|  | ||||
| 	$algorithm = ""; | ||||
| 	preg_match("/alg='(.*?)'/ism", $attributes, $matches); | ||||
| 	if ($matches[1] != "") | ||||
| 		$algorithm = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8'); | ||||
|  | ||||
| 	preg_match("/alg=\"\;(.*?)\"\;/ism", $attributes, $matches); | ||||
| 	if ($matches[1] != "") | ||||
| 		$algorithm = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8'); | ||||
|  | ||||
| 	$hint = ""; | ||||
| 	preg_match("/hint='(.*?)'/ism", $attributes, $matches); | ||||
| 	if ($matches[1] != "") | ||||
| 		$hint = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8'); | ||||
| 	preg_match("/hint=\"\;(.*?)\"\;/ism", $attributes, $matches); | ||||
| 	if ($matches[1] != "") | ||||
| 		$hint = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8'); | ||||
|  | ||||
| 	// Next we really should link to a JS routine based on the algorithm which prompts for a key | ||||
| 	// something like zdecrypt_{algorithm}, which will be a no-op if the decryption algorithm is not present  | ||||
| 	// We can either pass the text or pass a message ID and let the decryption module call /viewsrc or something | ||||
| 	// to get the text. The text might be large so the message ID might be preferable. But if we pass the  | ||||
| 	// text directly we won't have to do a network fetch; and can potentially display the results in a popup. | ||||
|  | ||||
|  | ||||
| 	$Text = '<br/><img src="' . z_root() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />' . t('Algorithm: ') . $algorithm . '<br />' . t('Key hint: ') . $hint . '<br />'; | ||||
|  | ||||
| 	return $Text; | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| function bb_ShareAttributes($match) { | ||||
|  | ||||
| 	$attributes = $match[1]; | ||||
| @@ -465,9 +502,9 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { | ||||
| 		$Text = preg_replace("/\[zmg\](.*?)\[\/zmg\]/ism", '<img class="zrl" src="$1" alt="' . t('Image/photo') . '" />', $Text); | ||||
| 	} | ||||
|  | ||||
| 	if (strpos($Text,'[crypt]') !== false) {	 | ||||
| 	if (strpos($Text,'[/crypt]') !== false) {	 | ||||
| 		$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text); | ||||
| 		$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text); | ||||
| 		$Text = preg_replace_callback("/\[crypt (.*?)\](.*?)\[\/crypt\]/ism", 'bb_parse_crypt', $Text); | ||||
| 	} | ||||
| 	// Try to Oembed | ||||
| 	if ($tryoembed) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user