Subversion Repositories personal-webbase

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 daniel-mar 1
<?php
2
 
3
if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
4
 
5
if ($aktion == 'edit')
6
{
7
        // Hat der Dabbes das "http://" vergessen?
8
        if (!url_protokoll_vorhanden($update_checkurl)) $update_checkurl = 'http://'.$update_checkurl;
9
        if (!url_protokoll_vorhanden($url)) $url = 'http://'.$url;
10
 
11
        // Titel selbstständig hinzufügen
12
        if ($name == '')
13
        {
14
                if (inetconn_ok())
15
                {
16
                        $dateiinhalt = my_get_contents($url);
17
                        @preg_match_all('/<title>(.+?)<\/title>/im', $dateiinhalt, $matches);
18
                        if (isset($matches[1][0]))
19
                        {
20
                                $tmp = $matches[1][0];
21
                                if ($tmp != '')
22
                                        $lname = $matches[1][0];
23
                                else
24
                                        $lname = 'Unbenannte Webseite';
25
                        }
26
                        else
27
                        {
28
                                $lname = 'Unbenannte Webseite';
29
                        }
30
                }
31
                else
32
                {
33
                        $lname = 'Unbenannte Webseite';
34
                }
35
        }
36
        else
37
        {
38
                $lname = $name;
39
        }
40
 
41
        // Enthält Check-URL einen Anker? Entfernen
42
        $update_checkurl = entferne_anker($update_checkurl);
43
 
44
        if (!isset($update_enabled)) $update_enabled = '0';
45
 
46
        // Ersten Inhalt hinzufügen, sofern Link-Updates aktiviert und Internetverbindung vorhanden
47
        if (($update_enabled) && (inetconn_ok()))
48
        {
49
                $cont = zwischen_url($update_checkurl, decode_critical_html_characters($update_text_begin), decode_critical_html_characters($update_text_end));
50
                // TODO: zwischen_url() === false beachten
51
                $cont = md5($cont);
52
                $zus = ", `update_lastchecked` = NOW(), `update_lastcontent` = '".db_escape($cont)."'";
53
        }
54
        else
55
        {
56
                $zus = '';
57
        }
58
 
59
        // Gehört der Ordner auch dem Benutzer?
60
        $res = db_query("SELECT `user_cnid` FROM `".$WBConfig->getMySQLPrefix()."folders` WHERE `id` = '".db_escape($folder)."'");
61
        $row = db_fetch($res);
62
        if ($row['user_cnid'] != $benutzer['id'])
63
                $folder = 0;
64
 
65
        // Ausführen
66
        db_query("UPDATE `".$WBConfig->getMySQLPrefix()."links` SET `name` = '".db_escape($name)."', `folder_cnid` = '".db_escape($folder)."', `url` = '".db_escape($url)."', `update_enabled` = '".db_escape($update_enabled)."', `update_checkurl` = '".db_escape($update_checkurl)."', `update_text_begin` = '".db_escape($update_text_begin)."', `update_text_end` = '".db_escape($update_text_end)."'$zus WHERE `id` = '".db_escape($id)."' AND `user_cnid` = '".$benutzer['id']."'");
67
        if ($danach == 'A') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=main&modul='.$modul);
68
        if ($danach == 'B') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&danach='.$danach);
69
        if ($danach == 'C') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&folder='.$folder.'&danach='.$danach);
70
}
71
 
72
if ($aktion == 'new')
73
{
74
        // Hat der Dabbes das "http://" vergessen?
75
        if (!url_protokoll_vorhanden($update_checkurl)) $update_checkurl = 'http://'.$update_checkurl;
76
        if (!url_protokoll_vorhanden($url)) $url = 'http://'.$url;
77
 
78
        // Titel selbstständig hinzufügen
79
        if ($name == '')
80
        {
81
                if (inetconn_ok())
82
                {
83
                        $dateiinhalt = my_get_contents($url);
84
                        @preg_match_all('/<title>(.+?)<\/title>/im', $dateiinhalt, $matches);
85
                        if (isset($matches[1][0]))
86
                        {
87
                                $tmp = $matches[1][0];
88
                                if ($tmp != '')
89
                                        $lname = $matches[1][0];
90
                                else
91
                                        $lname = 'Unbenannte Webseite';
92
                        }
93
                        else
94
                        {
95
                                $lname = 'Unbenannte Webseite';
96
                        }
97
                }
98
                else
99
                {
100
                        $lname = 'Unbenannte Webseite';
101
                }
102
        }
103
        else
104
        {
105
                $lname = $name;
106
        }
107
 
108
        // Enthält Check-URL einen Anker? Entfernen
109
        $update_checkurl = entferne_anker($update_checkurl);
110
 
111
        if (!isset($update_enabled)) $update_enabled = '0';
112
 
113
        // Ersten Inhalt hinzufügen, sofern Link-Updates aktiviert und Internetverbindung vorhanden
114
        if (($update_enabled) && (inetconn_ok()))
115
        {
116
                $cont = zwischen_url($update_checkurl, decode_critical_html_characters($update_text_begin), decode_critical_html_characters($update_text_end));
117
                // TODO: zwischen_url() === false beachten
118
                $cont = md5($cont);
119
                $zus1 = "`update_lastchecked`, `update_lastcontent`, ";
120
                $zus2 = "NOW(), '".db_escape($cont)."', ";
121
        }
122
        else
123
        {
124
                $zus1 = '';
125
                $zus2 = '';
126
        }
127
 
128
        // Gehört der Ordner auch dem Benutzer?
129
        $res = db_query("SELECT `user_cnid` FROM `".$WBConfig->getMySQLPrefix()."folders` WHERE `id` = '".db_escape($folder)."'");
130
        $row = db_fetch($res);
131
        if ($row['user_cnid'] != $benutzer['id'])
132
                $folder = 0;
133
 
134
        if (!isset($update_enabled)) $update_enabled = '0';
135
 
136
        // Ausführen
137
        db_query("INSERT INTO `".$WBConfig->getMySQLPrefix()."links` (`name`, `url`, `folder_cnid`, `update_enabled`, `update_checkurl`, `update_text_begin`, `update_text_end`, $zus1`new_tag`, `broken_tag`, `user_cnid`) VALUES ('".db_escape($lname)."', '".db_escape($url)."', '".db_escape($folder)."', '".db_escape($update_enabled)."', '".db_escape($update_checkurl)."', '".db_escape($update_text_begin)."', '".db_escape($update_text_end)."', $zus2'0', '0', '".$benutzer['id']."')");
138
        if ($danach == 'A') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=main&modul='.$modul);
139
        if ($danach == 'B') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&danach='.$danach);
140
        if ($danach == 'C') wb_redirect_now($_SERVER['PHP_SELF'].'?seite=edit&modul='.$modul.'&aktion=new&folder='.$folder.'&danach='.$danach);
141
}
142
 
143
if ($aktion == 'delete')
144
{
145
        db_query("DELETE FROM `".$WBConfig->getMySQLPrefix()."links` WHERE `id` = '".db_escape($id)."' AND `user_cnid` = '".$benutzer['id']."'");
146
        if (db_affected_rows() > 0)
147
                db_query("OPTIMIZE TABLE `".$WBConfig->getMySQLPrefix()."links`");
148
 
149
        wb_redirect_now($_SERVER['PHP_SELF'].'?seite=main&modul='.$modul);
150
}
151
 
152
?>