Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как организовать ссылку на комментарии при уведомлении на почту?

Как организовать ссылку на комментарии при уведомлении на почту?


     07.04.2016    Общие вопросы по PHP, Ламерские вопросы    1591

вопрос
Друзья, подскажите, как можно по простому сделать ссылку на комментарий в E-mail уведомлении. По умолччанию там есть лишь ссылка на саму новость. Я сделал по простому, подублировал весь код с пееменными $full_link, и переименовал в $comm_link. Работает, но какая-то массивная каша получилась:
            if( $config['allow_alt_url'] ) {
                
                if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
                    
                    if( $row['category'] and $config['seo_type'] == 2 ) {
                        
                        $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                    
                    } else {
                        
                        $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
                    
                    }
                
                } else {
                    
                    $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
                }
            
            } else {
                
                $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
            
            }

            if( $config['allow_alt_url'] ) {
                
                if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
                    
                    if( $row['category'] and $config['seo_type'] == 2 ) {
                        
                        $comm_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html#comment";
                    
                    } else {
                        
                        $comm_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html#comment";
                    
                    }
                
                } else {
                    
                    $comm_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html#comment";
                }
            
            } else {
                
                $comm_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
            
            }
    
            $title = stripslashes($row['title']);
            
            $row = $db->super_query( "SELECT * FROM " . PREFIX . "_email WHERE name='comments' LIMIT 0,1" );
            $mail = new dle_mail( $config, $row['use_html'] );

            if (strpos($full_link, "//") === 0) $full_link = "http:".$full_link;
            elseif (strpos($full_link, "/") === 0) $full_link = "http://".$_SERVER['HTTP_HOST'].$full_link;

            if (strpos($comm_link, "//") === 0) $comm_link = "http:".$comm_link;
            elseif (strpos($comm_link, "/") === 0) $comm_link = "http://".$_SERVER['HTTP_HOST'].$comm_link;

            $row['template'] = stripslashes( $row['template'] );
            $row['template'] = str_replace( "{Гость}", $name, $row['template'] );
            $row['template'] = str_replace( "{%date%}", langdate( "j F Y H:i", $_TIME, true ), $row['template'] );
            $row['template'] = str_replace( "{%link%}", $full_link, $row['template'] );
            $row['template'] = str_replace( "{%commlink%}", $comm_link, $row['template'] );
            $row['template'] = str_replace( "{%title%}", $title, $row['template'] );

Как упростить это дело?

Ответил: svarog


Всё, разобрался. Оказывается и не надо было столько калобродить. Достаточно было добавить
$row['template'] = str_replace( "{%commlink%}", $full_link . ".html#comment", $row['template'] );

Да, сложно, когда вообще не волокёшь)))
Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх