1<?php
2/* $Id: index.php,v 1.69 2004/02/13 15:32:54 k-fish Exp $ */
3
4$myEnv["module"] = "partprog";
5$myEnv["output"] = "html";
6$myEnv["stdsmenu"] = false;
7
8include("../../config.inc.php");
9include(INCLUDEPATH . "container.inc.php");
10
11// adding file revision into global array
12if(function_exists("revisionInit")) revisionInit("\$Revision: 1.69 $", __FILE__);
13
14// =================================================
15//	              Eintrag createn
16// =================================================
17if (isset($_POST["create"])){
18    $id = mgw_genID('mgw__seq_partprog');
19
20    $name = $conn->QMagic($_POST["name"]);
21    $company = $conn->QMagic($_POST["company"]);
22    $account = $conn->QMagic($_POST["account"]);
23    $pw = $conn->QMagic($_POST["pw"]);
24    $email = $conn->QMagic($_POST["email"]);
25    $url = $conn->QMagic($_POST["url"]);
26    $description = $conn->QMagic($_POST["description"]);
27    $public = (int) $_POST['public'];
28
29    $sql="INSERT INTO mgw_partprog (id, name, company, account, pw, url, description, lu_user, lu_date, email, ispublic, owner)	VALUES ($id, $name, $company, $account, $pw, $url, $description, ".$_SESSION["MGW"]->userid.", ".$conn->DBTimeStamp(time()).", $email, $public, ".$_SESSION["MGW"]->userid.")";
30
31    if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__));
32}
33
34// =================================================
35//	              Eintrag �ndern
36// =================================================
37
38if (isset($_POST["edit"])){
39    $id = (int)$_POST["id"];
40    $name = $conn->QMagic($_POST["name"]);
41    $company = $conn->QMagic($_POST["company"]);
42    $account = $conn->QMagic($_POST["account"]);
43    $pw = $conn->QMagic($_POST["pw"]);
44    $email = $conn->QMagic($_POST["email"]);
45    $url = $conn->QMagic($_POST["url"]);
46    $description = $conn->QMagic($_POST["description"]);
47    $public = (int) $_POST['public'];
48
49    $sql="UPDATE mgw_partprog SET name=$name, company=$company, account=$account, pw=$pw, email=$email, url=$url, description=$description, lu_user=".$_SESSION["MGW"]->userid.", lu_date=".$conn->DBTimeStamp(time()).", ispublic=$public WHERE id=$id";
50    if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__));
51}
52
53// =================================================
54//	              PARTPROG delete
55// =================================================
56if (isset($_GET["action"]) && $_GET["action"] == "delete"){
57    // show confirmation screen if it wasn't there so far
58    $sql = "SELECT * FROM mgw_partprog WHERE id=".(int)$_GET["id"];
59
60    if(!$res = $conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__));
61    $row = $res->FetchRow();
62
63    $smarty->assign("menuid", "7");
64    $smarty->assign("parms", str_replace("delete","list",$_SERVER["QUERY_STRING"]));
65    $smarty->assign("deleteitem", Lang::getLanguageString("deleteitem"));
66    $smarty->assign("deleteheader", Lang::getLanguageString("deleteheader"));
67    $smarty->assign("deletedetail1", $row["name"]);
68    $smarty->assign("deletedetail2", $row["company"]);
69    $smarty->assign("deletedetail3", $row["account"]);
70    $smarty->assign("suclass","submit");
71
72    $smarty->display($appconf["gentemplates"] ."/delete_item.tpl");
73    exit();
74}
75elseif(isset($_POST["confirmation_yes"])){
76    // delete only when user said so
77    $sql = "DELETE FROM mgw_partprog WHERE  id=".(int)$_GET["id"];
78    if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__));
79}
80
81// =================================================
82//	              New Item Formular
83// =================================================
84if (IsSet($_GET["action"]) && $_GET["action"] == "newform") {
85    $smarty->assign("suname","create");
86    $smarty->assign("suclass","submit");
87    $smarty->assign("mode","new");
88    $smarty->assign("pubcheckedno", " checked");
89
90    $smarty->display('partprog_edit.tpl');
91    exit();
92}
93
94// =================================================
95//	              Detail Ansicht
96// =================================================
97if (IsSet($_GET["action"]) && $_GET["action"] == "details") {
98    $sql = "SELECT * FROM mgw_partprog WHERE id=".(int)$_GET["id"]." AND (ispublic=1 OR owner=".$_SESSION['MGW']->userid.")";
99    if(!$res = $conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__));
100    $row = $res->FetchRow();
101
102    $smarty->assign("id", $id);
103    $smarty->assign("td", $row);
104    $smarty->assign("name", Lang::getLanguageString("name"));
105    $smarty->assign("company", Lang::getLanguageString("company"));
106    $smarty->assign("account", Lang::getLanguageString("account"));
107    $smarty->assign("password", Lang::getLanguageString("password"));
108    $smarty->assign("url", Lang::getLanguageString("url"));
109    $smarty->assign("email", Lang::getLanguageString("email"));
110    $smarty->assign("description", Lang::getLanguageString("desc"));
111    $smarty->assign("contentheader", Lang::getLanguageString("detailstext").$row["name"]);
112    $smarty->assign("public", Lang::getLanguageString("public"));
113    if($row["ispublic"]==1) $smarty->assign("ispublic", Lang::getLanguageString("yes"));
114    else $smarty->assign("ispublic", Lang::getLanguageString("no"));
115
116    $smarty->display('partprog_details.tpl');
117    exit();
118}
119
120
121// =================================================
122//	              Edit Item Formular
123// =================================================
124if(isset($_GET["action"]) && $_GET["action"] == "editform") {
125    $sql = "SELECT * FROM mgw_partprog WHERE id=".(int)$_GET['id'];
126    if(!$res = $conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__));
127    $row = $res->FetchRow();
128
129    if($row["ispublic"]==1) $smarty->assign("pubcheckedyes", " checked");
130    else $smarty->assign("pubcheckedno", " checked");
131
132    $smarty->assign("id", (int)$_GET['id']);
133    $smarty->assign("td", $row);
134    $smarty->assign("myurl", $row["url"]);
135    $smarty->assign("suname","edit");
136    $smarty->assign("suclass","submit");
137    $smarty->assign("mode","edit");
138
139    $smarty->assign("editpp", Lang::getParmLang($langArr["editpp"],array($row["name"])));
140
141    $smarty->display('partprog_edit.tpl');
142    exit();
143}
144
145
146// =================================================
147//	              List View
148// =================================================
149
150// if user wants icons, assign icons if not -> not
151$icons = getIconStrings();
152$space = $icons["space"];
153$smarty->assign("prevsym", $icons["prev"]);
154$smarty->assign("nextsym", $icons["next"]);
155
156if( isset($_GET["action"]) && $_GET["action"] == "alphab") {
157    $searchterm = $conn->QMagic($_GET['list']."%");
158    $sql = "SELECT * FROM mgw_partprog WHERE name LIKE ".$searchterm." ORDER BY name";
159} elseif(isset($_POST["action"]) && $_POST["action"] == "qsearch") {
160    $searchterm = $conn->QMagic("%".$_POST["searchterm"]."%");
161    $sql = "SELECT * FROM mgw_partprog WHERE name LIKE ".$searchterm;
162} else {
163    $sql = "SELECT * FROM mgw_partprog WHERE ispublic=1 OR (ispublic=0 AND owner=".$_SESSION['MGW']->userid.") ORDER BY name";
164}
165
166// ========== PAGING STUFF 1 ================
167if (isset($_GET['npage'])){
168    $_SESSION["curr_page"] = $_GET['npage'];
169} else {
170    $_SESSION["curr_page"] = 1; // at first page
171}
172// ============================================
173
174if(!$res = $conn->PageExecute($sql, $_SESSION['MGW']->settings["list_items_number"], $_SESSION['curr_page'])) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__));
175
176// ========== PAGING STUFF 2 ================
177// if NOT on first page
178if(!$res->AtFirstPage()) {
179    $smarty->assign("_prev", true);
180    $smarty->assign("ppage", $res->AbsolutePage() - 1);
181}
182
183// if NOT on last page
184if(!$res->AtLastPage()) {
185    $smarty->assign("_next", true);
186    $smarty->assign("npage", $res->AbsolutePage() + 1);
187}
188// ============================================
189
190while($row = $res->FetchRow()){
191    // create action urls
192    $myid = $row["id"];
193    $detlink = "<a href=\"index.php?action=details&id=".$myid."&".SID."\" class=\"edit\">".$icons["details"]."</a>";
194    $editlink = "<a href=\"index.php?action=editform&id=".$myid."&".SID."\" class=\"edit\">".$icons["edit"]."</a>";
195    $dellink = "<a href=\"index.php?action=delete&id=".$myid."&".SID."\" class=\"delete\">".$icons["delete"]."</a>";
196
197    if($row["ispublic"]==1)
198	$row['private'] = "&nbsp;";
199    else
200	$row['private'] = $icons["private"];
201
202    $smarty->append("urls", $detlink . $space . $editlink . $space . $dellink);
203    $smarty->append("urlto", "<a href=\"".ROOTURL."norefer.php?url=" . rawurlencode($row["url"]) . "\" target=\"new\">" . $row["url"] . "</a>");
204    $smarty->append("td",$row);
205}
206
207$smarty->display('partprog_list.tpl');
208?>
209