7 июня, 201311 yr comment_34598 да думал прокатит... подскажите, есть что-то такое же для 3.3.1? Шикарный хук, но блин не подходит... может можно передалать или типа того. может,это типо перейти на новую версию,не?
7 июня, 201311 yr comment_34611 pharaoncheg, хук работает на версиях 3.3.3 и 3.3.4 проверял, версии выше не поддерживаются.... отображаются BB-коды
28 июля, 201311 yr comment_37558 А как сделать, что бы администратор мог всегда видеть хайд, не важно какие в нём указаны параметры?
7 августа, 201311 yr comment_38753 При вводи опций Появляются непонятные знаки с каким хайд не работает Может ошибаюсь, но я так понял, что проблема с этим файлом "ritsu_hide_text.php" class bbcode_hide extends bbcode_parent_class implements bbcodePlugin { /** * Constructor * * @access public * @param object Registry object * @return void */ public function __construct( ipsRegistry $registry ) { $this->currentBbcode = 'hide'; parent::__construct( $registry ); } public function preDbParse( $txt ) { return parent::preDbParse( $txt ); } public function preDisplayParse( $txt ) { return parent::preDisplayParse( $txt ); } /** * Do the actual replacement * * @access protected * @param string $txt Parsed text from database to be edited * @return string BBCode content, ready for editing */ protected function _replaceText( $txt ) { $_tags = $this->_retrieveTags(); foreach( $_tags as $_tag ) { $open_tag = '[' . $_tag; $close_tag = '[/' . $_tag . ']'; while( ( $this->end_pos = stripos( $txt, $close_tag, $this->end_pos ) ) !== false ) { $this->cur_pos = $this->end_pos; while( $this->cur_pos > 0 ) { $this->cur_pos = $this->cur_pos - 1; if( $this->cur_pos < 0 ) { break; } if( stripos( $txt, $open_tag, $this->cur_pos ) === $this->cur_pos ) { $open_length = strlen($open_tag); $_option = ''; $quoteOptions = array(); if( substr( $txt, $this->cur_pos + strlen($open_tag), 1 ) == ' ' ) { $open_length += 1; $_option = substr( $txt, $this->cur_pos + $open_length, (strpos( $txt, ']', $this->cur_pos ) - ($this->cur_pos + $open_length)) ); $quoteOptions = $this->_extractSurgicallyTehOptions( $_option ); } else if( (strpos( $txt, ']', $this->cur_pos ) - ( $this->cur_pos + $open_length )) !== 0 ) { continue; } $_content = substr( $txt, ($this->cur_pos + $open_length + strlen($_option) + 1), (stripos( $txt, $close_tag, $this->cur_pos ) - ($this->cur_pos + $open_length + strlen($_option) + 1)) ); $_content = IPSText::br2nl( $_content ); $_content = trim( $_content ); $_content = nl2br( $_content ); $txt = substr_replace( $txt, $this->_buildOutput( $_content, $quoteOptions ? $quoteOptions : '' ), $this->cur_pos, (stripos( $txt, $close_tag, $this->cur_pos ) + strlen($close_tag) - $this->cur_pos) ); break; } } $this->end_pos += 1; if( $this->end_pos > strlen($txt) ) { $this->end_pos = 0; break; } } } return $txt; } /** * Raw options string * * @access private * @param string $string The options submitted with the post as a string * @return array Key => value Option pairs */ private function _extractSurgicallyTehOptions( $options='' ) { if( !$options ) { return array(); } /** * Strip tags removes any added tags * @see __community.inv...te-starter-tag/ */ $options = str_replace( ''', "'", strip_tags($options) ); $options = str_replace( '"', '"', $options ); $finalOpts = array(); // Need to push through string, pulling out keys/options $pos = 0; $options = trim($options); $key = ''; $value = ''; $inKey = true; $inValue = false; while( $pos < strlen($options) ) { if( $options{$pos} == ' ' AND !$inKey AND !$inValue ) { $key = ''; $value = ''; $inKey = true; } else if( $options{$pos} == "'" OR $options{$pos} == '"' ) { if( $inKey ) { $inKey = false; $inValue = true; } else { $inValue = false; $finalOpts[ trim($key) ] = $value; } } else { if( $inKey ) { if( $options{$pos} != '=' ) { $key .= $options{$pos}; } } else if( $inValue ) { $value .= $options{$pos}; } } $pos++; } return $finalOpts; } /** * Build the actual output to show * * @access private * @param integer $option Font size * @param string $content Text * @return string Content to replace bbcode with */ private function _buildOutput( $content, $options=array() ) { //----------------------------------------- // Strip the optional quote delimiters //----------------------------------------- $condition = array ( 'auth' => '1', 'thank' => '0', 'rep' => '0', 'reply' => '0', 'posts' => '0', 'group' => array('any'), 'nick' => array('any') ); if(is_array($options)) while(list($key, $val) = each($condition)) { if(array_key_exists($key, $options)) { switch($key) { case 'auth': case 'thank': case 'reply': $condition[$key] = ($options[$key] == "1") ? "1": "0"; break; case 'rep': case 'posts': $val = intval($options[$key]); if($val > 0 && $val < 1000000) $condition[$key] = $val; break; case 'nick': $in = explode(",", $options[$key]); while(list($key, $val) = each($in)) $in[$key] = $this->DB->addSlashes( strtolower( $in[$key] ) ); $out = array( ); if(sizeof($in) > 0) { $this->DB->build( array( 'select' => "m.member_id", 'from' => array('members' => 'm'), 'where' => 'lower(name) IN("'.implode('", "', $in).'")' ) ); $query = $this->DB->execute(); while($member = $this->DB->fetch($query)) { $out[] = $member["member_id"]; } } if(sizeof($out) > 0) $condition['nick'] = $out; break; case 'group': $in = explode(",", $options[$key]); while(list($key, $val) = each($in)) $in[$key] = $this->DB->addSlashes( strtolower( $in[$key] ) ); $out = array( ); if(sizeof($in) > 0) { $this->DB->build( array( 'select' => "g.g_id", 'from' => array('groups' => 'g'), 'where' => 'lower(g.g_title) IN("'.implode('", "', $in).'")' ) ); $query = $this->DB->execute(); while($group = $this->DB->fetch($query)) { $out[] = $group["g_id"]; } } if(sizeof($out) > 0) $condition['group'] = $out; break; } } } $condition_serialized = serialize( $condition ); $hash = md5($content.$condition_serialized); $this->DB->build( array( 'select' => "r.*", 'from' => array('ritsu_hide_text' => 'r'), 'where' => 'r.key = "'.$hash.'"' ) ); $query = $this->DB->execute(); $exists = false; while($block = $this->DB->fetch($query)) { if( ( $block["condition"] == $condition_serialized ) && ( $block["data"] == $content ) ) { $key = $block["key"]; $exists = true; } } if(!$exists) { $key = $hash; $block = array( 'key' => $hash, 'condition' => $condition_serialized, 'data' => $content ); $this->DB->insert( 'ritsu_hide_text', $block ); } return " Загрузка... "; } } Помогите убрать ошибку Прикрепленные файлы Hide.rar 8,88К Количество загрузок: 0 Наверное вот тут ошибка, Как убрать * Raw options string * * @access private * @param string $string The options submitted with the post as a string * @return array Key => value Option pairs */ private function _extractSurgicallyTehOptions( $options='' ) { if( !$options ) { return array(); } /** * Strip tags removes any added tags * @see __community.invisionpower.com/tracker/issue-19960-problem-when-tags-is-put-inside-quote-starter-tag/ */ $options = str_replace( ''', "'", strip_tags($options) ); $options = str_replace( '"', '"', $options ); $finalOpts = array(); // Need to push through string, pulling out keys/options $pos = 0; $options = trim($options); $key = ''; $value = ''; $inKey = true; $inValue = false; while( $pos < strlen($options) ) { if( $options{$pos} == ' ' AND !$inKey AND !$inValue ) { $key = ''; $value = ''; $inKey = true; } else if( $options{$pos} == "'" OR $options{$pos} == '"' ) { if( $inKey ) { $inKey = false; $inValue = true; } else { $inValue = false; $finalOpts[ trim($key) ] = $value; } } else { if( $inKey ) { if( $options{$pos} != '=' ) { $key .= $options{$pos}; } } else if( $inValue ) { $value .= $options{$pos}; } } $pos++; } return $finalOpts; } Edited 7 августа, 201311 yr by usergeuv1
7 августа, 201311 yr comment_38811 После установки увеличился шрифт на главной странице в приложении Unreal Portal, после удаления файла "ritsu_hide_text.php" всё стало норм, помогите пожалуйста решить данную проблему.. Edited 7 августа, 201311 yr by Bapxammep
7 августа, 201311 yr comment_38825 я вообще не понял... Выбираю текст для скрытия например "скачать" - нажимаю специальный бб коды - нахожу "Скрытый текст" - клацаю на него - появляется меню - в вкладке опция ввожу "rep="N" - потом ок - результат [hide='rep="N"']скачать[/hide] , а нужно для нормальной роботы так [hide rep="N"]скачать[/hide], то есть убрать появления этих знаков [hide='rep="N"']скачать[/hide] usergeuv1, не, не будет никого. Такое только за деньги ковырять. Зачем неполноценный хайд нужен, можно решить проблему в этой теми ,ведь на 100% у всех такая проблема. мы с вами понимаемым, что убрав лишении знаки, будет нормально работать , а пользователи наших форумов откуда могут знать о баге. Edited 7 августа, 201311 yr by usergeuv1
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.