Allure Опубликовано 23 Сентября 2007 Жалоба Поделиться Опубликовано 23 Сентября 2007 Собственно, сабж в заголовке. Форум 2.0.4, дневники 2.0pb7. На форуме установлен мод Resize Image , соответственно, в дневниках он тоже срабатывает. Но как-то неудачно - ресайзить ресайзит, а вот оригинал картинки (который должнен открываться по клику в новом окне) не сохраняет. А надо. Может, сталкивался кто - как это исправить? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Сентября 2007 Жалоба Поделиться Опубликовано 23 Сентября 2007 вы че, в теге имг ничто не ресайзится!а не открывается, ибо там яваскрипт онклик режется вот мое решение в 21х (не полностью И БЕЗ ОЮЪЯСНЕНИЙ, но смысл должен быть понятен) // Loading post parser /*require ROOT_PATH."sources/lib/post_parser.php"; $parser = new post_parser();*/ require_once( ROOT_PATH."sources/handlers/han_parse_bbcode.php" ); $parser = new parse_bbcode(); $parser->ipsclass =& $ibforums; $parser->parse_bbcode = 1; $parser->parse_smilies = $ibforums->input['enableemo'] == 'yes' ? 1 : 0; $ibforums->skin['_emodir'] = $journal->skin->skin_info['emo_dir']; $parser->bypass_badwords = 1; if ($ibforums->cache['group_cache'][$ibforums->member['mgroup']]['g_j_use_filter']) { $parser->bypass_badwords = 0; } // make post first /*$post = $parser->convert(array( TEXT => $ibforums->input['Post'], SMILIES => $ibforums->input['enableemo'] == 'yes' ? 1 : 0, CODE => 1, HTML => 0 ));*/ $post = $parser->pre_db_parse($ibforums->input['Post'],1);function pre_db_parse( $txt="" ,$inJournal=0) //image aling="left" or right, [IMG=left] $txt = preg_replace( "#\[img=(right|left)\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\2','\\1',$inJournal)" , $txt ); //end mod $txt = preg_replace( "#\[img\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\1','',$inJournal)" , $txt );function regex_check_image($url="", $align="", $inJournal=0) if($inJournal) { if ($align=="") { return "<img src='$url' border='0' alt='{$this->ipsclass->lang['bbcode_img_alt']}' />"; } else { return "<img style='float:$align' src='$url' border='0' alt='{$this->ipsclass->lang['bbcode_img_alt']}' />"; } } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 23 Сентября 2007 Автор Жалоба Поделиться Опубликовано 23 Сентября 2007 вы че, в теге имг ничто не ресайзится!Если б не расайзилось, я б и не спрашивала. Показать?а не открывается, ибо там яваскрипт онклик режется вот мое решение в 21х (не полностью И БЕЗ ОЮЪЯСНЕНИЙ, но смысл должен быть понятен)Спасибо, попробую. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Сентября 2007 Жалоба Поделиться Опубликовано 23 Сентября 2007 doneсмысл в том, чтобы передать в парсер переменную, которая будет говорить о том, что парсер работает из дневников еще вариант if ($align == "") { if($inJournal) return "<a href='$url' target='_blank'><img width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' style='cursor:pointer;' alt='Open in new window' /></a>"; else return "<img width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' style='cursor:pointer;' onclick=window.open('$url') alt='Open in new window' />"; } else { if($inJournal) return "<a href='$url' target='_blank'><img style='float:$align' width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' style='cursor:pointer;' alt='Open in new window' /></a>"; else return "<img style='float:$align' width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' style='cursor:pointer;' onclick=window.open('$url') alt='Open in new window' />"; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 23 Сентября 2007 Автор Жалоба Поделиться Опубликовано 23 Сентября 2007 Arhar, спасибо, теперь все работает. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
daykkin Опубликовано 22 Октября 2008 Жалоба Поделиться Опубликовано 22 Октября 2008 Ну вот собственно таже проблема что и у AllureТолько я к сожалению не так сильно знаю PHP и из данного объяснения совсем не пойму что и куда нужно вставить/заменить, разжуйте если не сложно, за спасибо) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Октября 2008 Жалоба Поделиться Опубликовано 23 Октября 2008 вот, это решение для соседней темы, приду домой - объясню Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 23 Октября 2008 Жалоба Поделиться Опубликовано 23 Октября 2008 короче первое условие - мы сделали мод замена парсератеперь берем в строчках, а их там вроде даже не одна$post = $parser->pre_db_parse($ibforums->input['Post']);делаем$post = $parser->pre_db_parse($ibforums->input['Post'],1);теперь идем ./sources/handlers/han_parse_bbcode.phpищемfunction pre_db_parse( $txt="" )делаемfunction pre_db_parse( $txt="" ,$inJournal=0)в этой функции ищем и делаем (здесь можно без подробностей? просто ищем в 40 строчках ниже фразу и понимаем, что добавить)return $this->bbclass->pre_db_parse( $text , $inJournal);теперь идем ./sources/classes/bbcode/class_bbcode.phpделаем //image aling="left" or right, [IMG=left] $txt = preg_replace( "#\[img=(right|left)\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\2','\\1',$inJournal)" , $txt ); //end mod $txt = preg_replace( "#\[img\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\1','',$inJournal)" , $txt );теперь идем ./sources/classes/bbcode/class_bbcode_core.phpищем что-то похожее на if ($align == "") { return "<img width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' onclick=\"window.open('$url');\" alt='Open in new window' />"; } else { return "<img style='float:$align' width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' onclick=\"window.open('$url');\" alt='Open in new window' />"; }делаем что-то похожее на if ($align == "") { if($inJournal) return "<a href='$url' target='_blank'><img width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' alt='Open in new window' /></a>"; else return "<img width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' onclick=\"window.open('$url');\" alt='Open in new window' />"; } else { if($inJournal) return "<a href='$url' target='_blank'><img style='float:$align' width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' alt='Open in new window' /></a>"; else return "<img style='float:$align' width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' onclick=\"window.open('$url');\" alt='Open in new window' />"; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
daykkin Опубликовано 23 Октября 2008 Жалоба Поделиться Опубликовано 23 Октября 2008 1. Было про post_function.php ?2. У меня была строка function pre_db_parse( $text ) так что заменял на неё.3. Ясно4. Ясно и вот после 4-ого пункта, везде где требуется bbcode_core выдает ошибку Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /home/mybic/domains/blablabla.ru/public_html/sources/classes/bbcode/class_bbcode_core.php on line 1918Указывает всегда (я много раз пробовал менять) на последнюю строку в файле, а именно на "?>"Если убираю изменения в четвертом - редактирование постов и везде где bbcode_core нужны, вприцнипе не выдает ошибок.. Правда в силу первых трех изменений, картинки уже в редактировании отображаются хтмл тегами, а сообщения в кричалку (DDshout), а так же везде по форуму и жж вовсе показываются пустыми..(новые сообщения.. после этих изменений)Как быть то со всем этим теперь? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
daykkin Опубликовано 26 Октября 2008 Жалоба Поделиться Опубликовано 26 Октября 2008 Долбил двое суток.. Безрезультатно. Если в ./sources/handlers/han_parse_bbcode.php поменять function pre_db_parse( $text ) на function pre_db_parse( $txt="" ,$inJournal=0) то все сообщения создаваемые после изменения, отображаются пустыми. Если же поменять на function pre_db_parse( $text ,$inJournal=0) то (при условии что сделаны остальные изменения, про которые Вы говорили) при вставке картинки (обычные мессаги с текстом проходят нормально) выдает такую ошибку (прошу не пинать в этот раз на мою кривизну, разглядывал каждый символ. вставлял и проверял по 40 раз, честное слово, все так, как указано у Вас): Parse error: syntax error, unexpected ')' in /home/xxx/domains/xxx.ru/public_html/sources/classes/bbcode/class_bbcode.php(197) : regexp code on line 1 Fatal error: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Failed evaluating code: $this->regex_check_image('http://xxx.ru/uploads/posts/1175998029_1.jpg','',) in /home/xxx/domains/xxx.ru/public_html/sources/classes/bbcode/class_bbcode.php on line 197 P.S. Жалко что Вы запретили беспокоить Вас по icq У меня связаны руки и остается надеяться что Вы зайдете в этот топик. А пока пойду успокаивать пользователей) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 26 Октября 2008 Жалоба Поделиться Опубликовано 26 Октября 2008 function pre_db_parse( $text ) на function pre_db_parse( $txt="" ,$inJournal=0)НУ ЕСТЕСТВЕННО!!!!это просто немыслимая ошибка $this->regex_check_image('http://xxx.ru/uploads/posts/1175998029_1.jpg','',here)после запятой почему-то ничего нет собственно надо сделать передачу значения inJournal в парсериз воздуха оно же не берется функция должна быть function pre_db_parse( $txt="" ,$inJournal=0) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
daykkin Опубликовано 26 Октября 2008 Жалоба Поделиться Опубликовано 26 Октября 2008 Спасибо за ответ, но я около 10 минут пытался понять что же сделать, к сожалению так и не понял (совсем не силен в php).. функция должна быть function pre_db_parse( $txt="" ,$inJournal=0)Но чуть Выше вы сказали что это немыслемая ошибка, менять function pre_db_parse( $text ) на function pre_db_parse( $txt="" ,$inJournal=0).Значит эту функцию нужно сделать отдельно и если да, то что в неё вписать? тоже что и в function pre_db_parse( $text ) ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 27 Октября 2008 Жалоба Поделиться Опубликовано 27 Октября 2008 нужно мыслить глобальночто мы делаеммы добавляем входящую переменнуюдля этого мы ставим запятую в скобках и дописываем переменнуювообще для работы с mJournal категорически необходимо знать программирование, ибо продукт замечательный только в умелых рукахпосему предлагаю от него отказаться Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
daykkin Опубликовано 27 Октября 2008 Жалоба Поделиться Опубликовано 27 Октября 2008 Мне по сути больше ничего не нужно, все остальное в mJournal я уже настроил(не без помощи этого форума), если и осталось что-то, то это мелочи. Я Вас очень прошу. Помогите. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 27 Октября 2008 Автор Жалоба Поделиться Опубликовано 27 Октября 2008 (изменено) У вас в function pre_db_parse(...) - что в скобках? Изменено 27 Октября 2008 пользователем Allure Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
daykkin Опубликовано 27 Октября 2008 Жалоба Поделиться Опубликовано 27 Октября 2008 Как и писал function pre_db_parse( $text ) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Allure Опубликовано 27 Октября 2008 Автор Жалоба Поделиться Опубликовано 27 Октября 2008 function pre_db_parse( $txt="" ) - в class_bbcode.php находится. А в han_parse_bbcode, действительно, function pre_db_parse( $text ) и return $this->bbclass->pre_db_parse( $text ); - там же.Переменную $inJournal надо и туда и сюда добавить. ...теперь идем ./sources/handlers/han_parse_bbcode.phpищемfunction pre_db_parse( $txt="" )делаемfunction pre_db_parse( $txt="" ,$inJournal=0)в этой функции ищем и делаем (здесь можно без подробностей? просто ищем в 40 строчках ниже фразу и понимаем, что добавить)return $this->bbclass->pre_db_parse( $text , $inJournal);...Тут, немного спутано, видимо. Скорее так:./sources/handlers/han_parse_bbcode.phpищемfunction pre_db_parse( $text )и делаемfunction pre_db_parse( $text, $inJournal=0)в этой же функции ищем:return $this->bbclass->pre_db_parse( $text );и делаемreturn $this->bbclass->pre_db_parse( $text , $inJournal); ./sources/classes/bbcode/class_bbcode.phpищемfunction pre_db_parse( $txt="" )и делаемfunction pre_db_parse( $txt="" ,$inJournal=0) Вроде, так. Поправьте, если ошибаюсь - у меня нет 2.1.х... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
daykkin Опубликовано 27 Октября 2008 Жалоба Поделиться Опубликовано 27 Октября 2008 Ошибки пропали и картинки проходят через парсер теперь нормально, правда одна деталь. В жж как картинки не были ссылками, так и остались :/ Странно, судя по всему первый return не срабатывает.. class_bbcode_core.php if ($align == "") { if($inJournal) return "<a href='$url' target='_blank'><img width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' alt='Open in new window' /></a>"; else return "<img width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' style=\"cursor:pointer;\" onclick=\"window.open('$url');\" alt='Open in new window' />"; } else { if($inJournal) return "<a href='$url' target='_blank'><img style='float:$align' width='$out_imgwidth' height='$out_imgheigh' class='imgtag' src='$url' border='0' style='cursor:pointer;' alt='Open in new window' /></a>"; else return "<img style='float:{$align}; cursor: pointer;' width='$out_imgwidth' height='$out_imgheigh' src='$url' border='0' hspace=\"10\" style=\"cursor:pointer;\" onclick=\"window.open('$url');\" alt='Open in new window' />"; } class_bbcode.php if ( $this->ipsclass->vars['allow_images'] ) { //image aling="left" or right, [IMG=left] $txt = preg_replace( "#\[img=(right|left)\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\2','\\1',$inJournal)" , $txt ); //end mod $txt = preg_replace( "#\[img\](.+?)\[/img\]#ie" , "\$this->regex_check_image('\\1','',$inJournal)" , $txt ); $txt = preg_replace( "#(\[flash=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/flash\])#ie", "\$this->regex_check_flash('\\2','\\4','\\6')", $txt ); } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.