theIggs
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Уважаемый всемирный разум! Помоги новичку! Из-за того, что смайлы на нашем форуме слишком пухлого размера, они коробят строчки. Некоторые пользователи предпочли бы отказаться от смайлов, однако в стандарте их можно вырубить только вместе с графикой (теги IMG). Я написал вот такой вот хак (см. ниже), примерно вроде работает (учитывая, что я даже ХТМЛ не знаю, куда уж там ПХП ). Так вот, проблема в следующем: InvisionBoard хранит смайлы в виде <бла-бла IMG:[<imagefile>] бла-бла>, в результате чего любые действия с IMG-графикой отражаются и на смайлах. Т.е. отрубить смайлы, оставив прочую графику - запросто, а вот наоборот - никак (все смайлы при выводе заменяются на IMG:<url_to_smile>, а хотелось бы вид что-то типа :smilie1. Помогите поправить! Впрочем, если дадите ссылку на готовый хак - плюну на свои наработки и поставлю его. Заранее спасибо! Код: MySQL Database //add field view_smi, tinyint(1), NULL, default 1, fulltext !---UserCP.php //after $view_img = "<select name='VIEW_IMG' class='forminput'>"; //add $view_smi = "<select name='VIEW_SMI' class='forminput'>"; //after $this->output .= $this->html->settings_end( array ( 'IMG' => $view_img."</select>", //add 'SMI' => $view_smi."</select>", //after $view_img .= $this->member['view_img'] ? "<option value='1' selected>".$ibforums->lang['yes']."</option>\n<option value='0'>".$ibforums->lang['no']."</option>" : "<option value='1'>".$ibforums->lang['yes']."</option>\n<option value='0' selected>".$ibforums->lang['no']."</option>"; //add $view_smi .= $this->member['view_smi'] ? "<option value='1' selected>".$ibforums->lang['yes']."</option>\n<option value='0'>".$ibforums->lang['no']."</option>" : "<option value='1'>".$ibforums->lang['yes']."</option>\n<option value='0' selected>".$ibforums->lang['no']."</option>"; !---functions.php //after $DB->query("SELECT mod.mid as is_mod, m.id, m.name, m.mgroup, m.password, m.email, m.allow_post, m.view_sigs, m.view_avs, m.view_pop, m.view_img, //insert m.view_smi, !---Register.php //after 'view_img' => 1, //add 'view_smi' => 1, !---Topics.php //replace if (!$ibforums->member['view_img']) { // unconvert smilies first, or it looks a bit crap. $row['post'] = preg_replace( "#<!--emo&(.+?)-->.+?<!--endemo-->#", "\\1" , $row['post'] ); $row['post'] = preg_replace( "/<img src=[\"'](.+?)[\"'].+?".">/", "(IMG:<a href='\\1' target='_blank'>\\1</a>)", $row['post'] ); } //with if (!$ibforums->member['view_img']) { // unconvert smilies first, or it looks a bit crap. $row['post'] = preg_replace( "/<img src=[\"'](.+?)[\"'].+?".">/", "(IMG:<a href='\\1' target='_blank'>\\1</a>)", $row['post'] ); } if (!$ibforums->member['view_smi']) { // unconvert smilies first, or it looks a bit crap. $row['post'] = preg_replace( "#<!--emo&(.+?)-->.+?<!--endemo-->#", "\\1" , $row['post'] ); } !---ad_member.php //after 'view_img' => 1, //add 'view_smi' => 1, !---usercp_functions.php //after //+---------------------------------------- if ( ! preg_match( "/^\d+$/", $ibforums->input['VIEW_IMG'] ) ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'poss_hack_attempt' ) ); } //add //+---------------------------------------- if ( ! preg_match( "/^\d+$/", $ibforums->input['VIEW_SMI'] ) ) { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'poss_hack_attempt' ) ); } //after 'view_img' => $ibforums->input['VIEW_IMG'], //add 'view_smi' => $ibforums->input['VIEW_SMI'], !---skin_ucp.php //after <tr> <td class='row1' nowrap><b>{$ibforums->lang['settings_viewimg']}</b></td> <td class='row1' width='70%' align='left'>{$data[IMG]}</td> </tr> //add <tr> <td class='row1' nowrap><b>{$ibforums->lang['settings_viewsmi']}</b></td> <td class='row1' width='70%' align='left'>{$data[SMI]}</td> </tr> !---en\lang_ucp.php //replace settings_viewimg=>"Do you wish to view images in posts, such as smilies and posted images?", //with settings_viewimg=>"Do you wish to view posted images in posts?", settings_viewsmi=>"Do you wish to view smilies in posts?", !---2\lang_ucp.php //replace settings_viewimg=>"Отображать картинки в сообщениях (например смайлики, изображения)?", //with settings_viewimg=>"Отображать изображения в сообщениях?", settings_viewsmi=>"Отображать смайлики в сообщениях", |
| Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 23:22 26-01-2003 | Исправлено: theIggs, 23:33 26-01-2003 |
|