1<?php 2/* $Id: company.class.php,v 1.45 2005/02/02 10:06:51 k-fish Exp $ */ 3class Company{ 4 var $templatesAreIn=""; 5 6 function opMassUpdate($data){ 7 global $conn; 8 if(is_array($data['cids'])){ 9 foreach($data['cids'] as $cid) 10 $cids[] = (int)$cid; 11 12 // mass update groups 13 if($data['group']!==0){ 14 $sql="SELECT id,owner FROM mgw_companies WHERE id IN(".implode(',',$cids).")"; 15 if(!$res = $conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 16 while($row = $res->FetchRow()){ 17 if((($row['owner'] == $_SESSION["MGW"]->userid) && 18 queryRights2_bool('root_modules_contact_company_modify')) 19 || queryRights2_bool('root_modules_contact_company_modifyothers')){ 20 $sql = 'UPDATE mgw_companies SET groupid='.(int)$data['group'].' WHERE id='.$row['id']; 21 if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 22 } 23 } 24 } 25 26 // mass update action 27 if($data['action']!==0){ 28 $sql="SELECT id,owner FROM mgw_companies WHERE id IN(".implode(',',$cids).")"; 29 if(!$res = $conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 30 31 switch($data['action']){ 32 case 'delete': 33 while($row = $res->FetchRow()){ 34 if((($row['owner'] == $_SESSION["MGW"]->userid) && 35 queryRights2_bool('root_modules_contact_company_delete')) 36 || queryRights2_bool('root_modules_contact_company_deleteothers')){ 37 $sql = 'DELETE FROM mgw_companies WHERE id='.$row['id']; 38 if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 39 } 40 } 41 break; 42 case 'private': 43 while($row = $res->FetchRow()){ 44 if((($row['owner'] == $_SESSION["MGW"]->userid) && 45 queryRights2_bool('root_modules_contact_company_modify')) 46 || queryRights2_bool('root_modules_contact_company_modifyothers')){ 47 $sql = 'UPDATE mgw_companies SET ispublic=0 WHERE id='.$row['id']; 48 if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 49 } 50 } 51 break; 52 case 'public': 53 while($row = $res->FetchRow()){ 54 if((($row['owner'] == $_SESSION["MGW"]->userid) && 55 queryRights2_bool('root_modules_contact_company_modify')) 56 || queryRights2_bool('root_modules_contact_company_modifyothers')){ 57 $sql = 'UPDATE mgw_companies SET ispublic=1 WHERE id='.$row['id']; 58 if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 59 } 60 } 61 } 62 } 63 return true; 64 } 65 return false; 66 } 67 68 function opCreate($data){ 69 global $conn; 70 queryRights2('root_modules_contact_company_create'); 71 72 $id = mgw_genID('mgw__seq_companies'); 73 $name1 = $conn->QMagic(isset($data["name1"])?$data["name1"]:""); 74 $name2 = $conn->QMagic(isset($data["name2"])?$data["name2"]:""); 75 $street = $conn->QMagic(isset($data["street"])?$data["street"]:""); 76 $add = $conn->QMagic(isset($data["add"])?$data["add"]:""); 77 $zip = $conn->QMagic(isset($data["zip"])?$data["zip"]:""); 78 $city = $conn->QMagic(isset($data["city"])?$data["city"]:""); 79 $state = $conn->QMagic(isset($data["state"])?$data["state"]:""); 80 $country = $conn->QMagic(isset($data["country"])?$data["country"]:""); 81 $phone = $conn->QMagic(isset($data["phone"])?$data["phone"]:""); 82 $fax = $conn->QMagic(isset($data["fax"])?$data["fax"]:""); 83 $url = $conn->QMagic(isset($data["url"])?$data["url"]:""); 84 $email = $conn->QMagic(isset($data["email"])?$data["email"]:""); 85 $bank1 = $conn->QMagic(isset($data["bank1"])?$data["bank1"]:""); 86 $bank2 = $conn->QMagic(isset($data["bank2"])?$data["bank2"]:""); 87 $taxnr = $conn->QMagic(isset($data["taxnr"])?$data["taxnr"]:""); 88 $taxpct = isset($data["taxpct"])?(int)$data["taxpct"]:21; 89 $note = $conn->QMagic(isset($data["note"])?$data["note"]:""); 90 $groupid = isset($data["_group"])?(int) $data["_group"]:0; 91 $public = isset($data["public"])?(int) $data["public"]:0; 92 93 $sql="INSERT INTO mgw_companies (id, name1, name2, street, additional, zip, city, state, countrycode, telephone, fax, url, email, bank1, bank2, taxnr, taxpct, note, groupid, ispublic, owner, lu_user, lu_date) VALUES ($id, $name1, $name2, $street, $add, $zip, $city, $state, $country, $phone, $fax, $url, $email, $bank1, $bank2, $taxnr, $taxpct, $note, $groupid, '$public', ".$_SESSION["MGW"]->userid.", ".$_SESSION["MGW"]->userid.", ". $conn->DBTimeStamp(time()). ")"; 94 95 if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 96 97 return $id; 98 } 99 100 function opUpdate($data){ 101 global $conn; 102 103 $id = isset($data["id"])?(int) $data["id"]:0; 104 105 $sql="SELECT owner FROM mgw_companies WHERE id=$id"; 106 if(($row = $conn->GetRow($sql))===false) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 107 if($row['owner'] == $_SESSION["MGW"]->userid) 108 queryRights2('root_modules_contact_company_modify'); 109 else 110 queryRights2('root_modules_contact_company_modifyothers'); 111 112 $name1 = $conn->QMagic(isset($data["name1"])?$data["name1"]:""); 113 $name2 = $conn->QMagic(isset($data["name2"])?$data["name2"]:""); 114 $street = $conn->QMagic(isset($data["street"])?$data["street"]:""); 115 $add = $conn->QMagic(isset($data["add"])?$data["add"]:""); 116 $zip = $conn->QMagic(isset($data["zip"])?$data["zip"]:""); 117 $city = $conn->QMagic(isset($data["city"])?$data["city"]:""); 118 $state = $conn->QMagic(isset($data["state"])?$data["state"]:""); 119 $country = $conn->QMagic(isset($data["country"])?$data["country"]:""); 120 $phone = $conn->QMagic(isset($data["phone"])?$data["phone"]:""); 121 $fax = $conn->QMagic(isset($data["fax"])?$data["fax"]:""); 122 $url = $conn->QMagic(isset($data["url"])?$data["url"]:""); 123 $email = $conn->QMagic(isset($data["email"])?$data["email"]:""); 124 $bank1 = $conn->QMagic(isset($data["bank1"])?$data["bank1"]:""); 125 $bank2 = $conn->QMagic(isset($data["bank2"])?$data["bank2"]:""); 126 $taxnr = $conn->QMagic(isset($data["taxnr"])?$data["taxnr"]:""); 127 $taxpct = isset($data["taxpct"])?(int)$data["taxpct"]:21; 128 $note = $conn->QMagic(isset($data["note"])?$data["note"]:""); 129 $groupid = isset($data["_group"])?(int) $data["_group"]:0; 130 $public = isset($data["public"])?(int) $data["public"]:0; 131 132 $sql="UPDATE mgw_companies SET name1=$name1, name2=$name2, street=$street, additional=$add, zip=$zip, city=$city, state=$state, countrycode=$country, telephone=$phone, fax=$fax, url=$url, email=$email, bank1=$bank1, bank2=$bank2, taxnr=$taxnr, taxpct=$taxpct, note=$note,groupid = $groupid, ispublic='$public', lu_user=".$_SESSION["MGW"]->userid.", lu_date=". $conn->DBTimeStamp(time()). " WHERE (ispublic=1 or owner=".$_SESSION["MGW"]->userid.") and id=".$id; 133 134 if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 135 136 return true; 137 } 138 139 function opDelete($id){ 140 global $conn; 141 142 $sql="SELECT owner FROM mgw_companies WHERE id=$id"; 143 if(($row = $conn->GetRow($sql))===false) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 144 if($row['owner'] == $_SESSION["MGW"]->userid) 145 queryRights2('root_modules_contact_company_delete'); 146 else 147 queryRights2('root_modules_contact_company_deleteothers'); 148 149 $sql = "DELETE FROM mgw_companies WHERE (ispublic=1 or owner=".$_SESSION["MGW"]->userid.") and id=".(int)$id; 150 if(!$conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 151 152 return true; 153 } 154 155 function viewDelete($id){ 156 global $smarty, $conn, $appconf; 157 158 $sql="SELECT owner FROM mgw_companies WHERE id=$id"; 159 if(($row = $conn->GetRow($sql))===false) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 160 if($row['owner'] == $_SESSION["MGW"]->userid) 161 queryRights2('root_modules_contact_company_delete'); 162 else 163 queryRights2('root_modules_contact_company_deleteothers'); 164 165 $sql = "SELECT * FROM mgw_companies WHERE (ispublic=1 or owner=".$_SESSION["MGW"]->userid.") and id=".(int)$id; 166 if(!$res = $conn->Execute($sql)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 167 $row = $res->FetchRow(); 168 169 $smarty->assign("menuid", "1"); 170 $smarty->assign("itemid", $id); 171 $smarty->assign("parms", str_replace("delete","list",$_SERVER["QUERY_STRING"])); 172 $smarty->assign("reallydeleteitem", Lang::getLanguageString("reallydelcompany")); 173 $smarty->assign("deleteheader", Lang::getLanguageString("deletecompanyh")); 174 $smarty->assign("deletedetail1", $row["name1"]); 175 $smarty->assign("deletedetail2", $row["name2"]); 176 $smarty->assign("deletedetail3", $row["city"]); 177 $smarty->assign("suclass", "submit"); 178 179 return true; 180 } 181 182 function viewNewForm(){ 183 global $smarty; 184 include(INCLUDEPATH . "mSelectBox.class.php"); 185 queryRights2('root_modules_contact_company_create'); 186 187 $smarty->assign("countrysb", createCountrySB("country")); 188 189 $sb5 = new mSelectBox("_group"); 190 $sb5->setContentType("sql"); 191 $sb5->setSQLvalue("id"); 192 $sb5->setSQLcontent("name_key"); 193 $sb5->addContent("SELECT id, name_key FROM mgw_contacts_groups ORDER BY name_key"); 194 $sb5->addOption("0", Lang::getLanguageString("chosegrouptext"), "pre"); 195 $smarty->assign("groupsb", $sb5->draw()); 196 197 $smarty->assign("pubcheckyes", "checked"); 198 $smarty->assign("pubcheckno", ""); 199 $smarty->assign("suname", "create"); 200 $smarty->assign("suvalue", Lang::getLanguageString("create")); 201 $smarty->assign("suclass", "submit"); 202 $smarty->assign("mode", "new"); 203 $smarty->assign("contentheader", Lang::getLanguageString("createnewcompany")); 204 205 return true; 206 } 207 208 function viewEditForm($id){ 209 global $conn, $smarty; 210 include(INCLUDEPATH . "mSelectBox.class.php"); 211 $sql="SELECT owner FROM mgw_companies WHERE id=".(int)$id; 212 if(($row = $conn->GetRow($sql))===false) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 213 if($row['owner'] == $_SESSION["MGW"]->userid) 214 queryRights2('root_modules_contact_company_modify'); 215 else 216 queryRights2('root_modules_contact_company_modifyothers'); 217 218 $sql = "SELECT * FROM mgw_companies WHERE (ispublic=1 or owner=".$_SESSION["MGW"]->userid.") and id=".(int)$id; 219 if(($row = $conn->GetRow($sql))===false) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 220 221 $smarty->assign("countrysb", createCountrySB("country", $row["countrycode"])); 222 223 $sb5 = new mSelectBox("_group"); 224 $sb5->setContentType("sql"); 225 $sb5->setSQLvalue("id"); 226 $sb5->setSQLcontent("name_key"); 227 $sb5->addContent("SELECT id, name_key FROM mgw_contacts_groups ORDER BY name_key"); 228 $sb5->addOption("0", Lang::getLanguageString("chosegrouptext"), "pre"); 229 $smarty->assign("groupsb", $sb5->draw($row["groupid"])); 230 231 if($row["ispublic"] == 1){ 232 $smarty->assign("pubcheckyes", "checked"); 233 $smarty->assign("pubcheckno", ""); 234 } 235 else{ 236 $smarty->assign("pubcheckyes", ""); 237 $smarty->assign("pubcheckno", "checked"); 238 } 239 240 $smarty->assign("td", $row); 241 $smarty->assign("myurl", $row["url"]); 242 $smarty->assign("id",$id); 243 $smarty->assign("npage",isset($_GET["npage"])?$_GET["npage"]:""); 244 $smarty->assign("suname","edit"); 245 $smarty->assign("suvalue",Lang::getLanguageString("save")); 246 $smarty->assign("suclass","submit"); 247 $smarty->assign("contentheader", Lang::getLanguageString("editcompany").": ".$row["name1"]); 248 249 return true; 250 } 251 252 function viewDetails($id){ 253 global $conn, $smarty; 254 include(INCLUDEPATH . "mSelectBox.class.php"); 255 $icons = getIconStrings(); 256 $space = $icons["space"]; 257 258 $sql = "SELECT a.*, b.name AS country FROM mgw_companies a LEFT JOIN mgw_countries b ON a.countrycode = b.code WHERE (a.ispublic=1 or a.owner=".$_SESSION["MGW"]->userid.") and a.id=".(int)$id; 259 if(($row = $conn->GetRow($sql))===false) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 260 261 $row["email"] = linkEmail($row["email"]); 262 263 //display company id? 264 $smarty->assign('show_company_id',$_SESSION["MGW"]->settings["show_company_id"]); 265 $smarty->assign("searchterm",isset($_GET["searchterm"])?$_GET["searchterm"]:""); 266 $smarty->assign("searchtype",isset($_GET["searchtype"])?$_GET["searchtype"]:""); 267 $smarty->assign("td", $row); 268 269 // modify only for user with appropriate rights 270 if((queryRights2_bool("root_modules_contact_company_modify") && $row["owner"] == $_SESSION["MGW"]->userid) 271 OR (queryRights2_bool("root_modules_contact_company_modifyothers") && $row["owner"] <> $_SESSION["MGW"]->userid)) 272 $smarty->assign("maymod","yes"); 273 else 274 $smarty->assign("maymod","no"); 275 276 // delete only for user with appropriate rights 277 if((queryRights2_bool("root_modules_contact_company_delete") && $row["owner"] == $_SESSION["MGW"]->userid) 278 OR (queryRights2_bool("root_modules_contact_company_deleteothers") && $row["owner"] <> $_SESSION["MGW"]->userid)) 279 $smarty->assign("maydel","yes"); 280 else 281 $smarty->assign("maydel","no"); 282 283 // this is a rather horrible hack; better solution would be an OO approach where this information is pulled from a class 284 $urls2 = array(); 285 $companyid = $_REQUEST["id"]; 286 $sql2 = "SELECT * FROM mgw_contacts WHERE companyid=$companyid"; // I really do hope this is ADOdb compatible 287 if(!$res2 = $conn->Execute($sql2)) exit(showSQLerror($sql2, $conn->ErrorMsg(), __LINE__, __FILE__)); 288 while ($row2 = $res2->FetchRow()){ 289 $smarty->append("td2", $row2); 290 $contactid = $row2["id"]; 291 $detlink = "<a href=\"../contact/?mod=contact&obj=person&view=details&id=$contactid&".SID."\" CLASS=\"edit\">".$icons["details"]."</a>"; 292 $space = $icons["space"]; 293 $urls2[] = "<nobr>" . $detlink . "</nobr>"; 294 }; 295 $smarty->assign('urls2', $urls2); 296 297 $urls3 = array(); 298 if (isset($_SESSION['MGW']->modules["projects"])) { 299 $companyid = $_REQUEST["id"]; 300 $sql3 = "SELECT * FROM mgw_projects WHERE companyid=$companyid"; 301 if(!$res3 = $conn->Execute($sql3)) exit(showSQLerror($sql3, $conn->ErrorMsg(), __LINE__, __FILE__)); 302 while ($row3 = $res3->FetchRow()){ 303 $row3['targetdate'] = $conn->UnixDate($row3['targetdate']); 304 $smarty->append("td3", $row3); 305 $projleaderid = $row3["projleaderid"]; 306 $sql4 = "SELECT concat(lastname, '\, ', firstname) as name FROM mgw_users WHERE id=$projleaderid"; 307 if(!$res4 = $conn->Execute($sql4)) exit(showSQLerror($sql4, $conn->ErrorMsg(), __LINE__, __FILE__)); 308 $smarty->append("td4", $res4->FetchRow()); 309 $projectid = $row3["project_id"]; 310 $detlink = "<a href=\"../projects/?mod=projects&obj=project&view=details&pid=$projectid&".SID."\" CLASS=\"edit\">".$icons["details"]."</a>"; 311 $space = $icons["space"]; 312 $urls3[] = "<nobr>" . $detlink . "</nobr>"; 313 }; 314 } 315 $smarty->assign('urls3', $urls3); 316 317 $smarty->assign("npage",isset($_GET["npage"])?$_GET["npage"]:""); 318 $smarty->assign("suclass","submit"); 319 320 return true; 321 } 322 323 function viewList(){ 324 global $conn, $smarty, $appconf; 325 include(INCLUDEPATH . "mSelectBox.class.php"); 326 327 if(isset($_GET["sort"])){ 328 if($_GET["sort"] == $_SESSION["contact"]["company"]["prevorderby"]){ 329 $_SESSION["contact"]["company"]["sort_order"] = ($_SESSION["contact"]["company"]["sort_order"] == "DESC") ? "ASC" : "DESC"; 330 } 331 else{ 332 $_SESSION["contact"]["company"]["sort_order"] = 'ASC'; 333 } 334 $_SESSION["contact"]["company"]["prevorderby"] = $_GET["sort"]; 335 $_SESSION["contact"]["company"]["sort_by"] = $_GET["sort"]; 336 } 337 elseif(!isset($_SESSION["contact"]["company"]["sort_by"])){ 338 $_SESSION["contact"]["company"]["sort_by"] = 'name1'; 339 $_SESSION["contact"]["company"]["sort_order"] = 'ASC'; 340 } 341 342 // if user wants icons, assign icons if not -> not 343 $icons = getIconStrings(); 344 $smarty->assign("prevsym", $icons["prev"]); 345 $smarty->assign("nextsym", $icons["next"]); 346 $icons["contacts"] = $_SESSION["MGW"]->settings["iconmode"] ? "<img src=\"".$appconf["imgpath"]."/contacts_".$_SESSION["MGW"]->settings["iconid"].".gif\" border=\"0\" alt=\"".Lang::getLanguageString("contacts")."\" title=\"".Lang::getLanguageString("contacts")."\" />" : Lang::getLanguageString("contacts"); 347 348 $searchtype = ''; 349 $searchterm = ''; 350 $list = ''; 351 if(isset($_GET["list"]) and $_GET["list"] != "") { // ALPHABET SEARCH ACTIVE 352 $qsearchterm = '(name1 LIKE '.$conn->QMagic($_GET["list"]."%").' OR name1 LIKE '.$conn->QMagic(strtolower($_GET["list"])."%").')'; 353 $sql = "SELECT * FROM mgw_companies WHERE ".$qsearchterm." AND (owner=".$_SESSION['MGW']->userid." OR ispublic=1) ORDER BY ".$_SESSION["contact"]["company"]["sort_by"].' '.$_SESSION["contact"]["company"]["sort_order"]; 354 $smarty->assign("list",$_GET["list"]); 355 $list = $_GET["list"]; 356 } 357 elseif((isset($_POST["qsearch"]) and $_POST["qsearch"] != "") || (isset($_GET["searchtype"]) and $_GET["searchtype"] == "quick")){ // QUICK SEARCH ACTIVE 358 $searchterm = ($_SERVER["REQUEST_METHOD"] == "POST") ? (isset($_POST["searchterm"])?$_POST["searchterm"]:"") : (isset($_GET["searchterm"])?$_GET["searchterm"]:""); 359 360 $searchterm2 = $conn->QMagic("%".$searchterm."%"); 361 $sql = "SELECT * FROM mgw_companies a WHERE "; 362 if (!empty($searchterm)) { 363 $qsearchterm2 = $conn->QMagic('%'.$searchterm.'%'); 364 for($i=0;$i<count($_SESSION["MGW"]->settings["quicksearchmethod"]);$i++) { 365 if (!strstr($_SESSION["MGW"]->settings["quicksearchmethod"][$i],"mgw_contacts")) { 366 if(!empty($searchsql)) $searchsql .= ' OR '; 367 $searchsql .= "(UPPER(".$_SESSION["MGW"]->settings["quicksearchmethod"][$i] . ") LIKE UPPER($qsearchterm2) AND a.ispublic = 1) OR ". 368 "(UPPER(".$_SESSION["MGW"]->settings["quicksearchmethod"][$i] . ") LIKE UPPER($qsearchterm2) AND a.ispublic = 0 AND a.owner=".$_SESSION["MGW"]->userid.")"; 369 } 370 } 371 } 372 $sql .= $searchsql." AND (owner=".$_SESSION['MGW']->userid." OR ispublic=1) ORDER BY ".$_SESSION["contact"]["company"]["sort_by"].' '.$_SESSION["contact"]["company"]["sort_order"]; 373 $sql = str_replace("mgw_companies.","a.",$sql); 374 // ---------- 375 376 $smarty->assign("searchterm",$searchterm); 377 $smarty->assign("searchtype","quick"); 378 $searchtype = "quick"; 379 } 380 elseif((isset($_POST["groupsearch"]) and $_POST["groupsearch"] != "") || (isset($_GET["searchtype"]) and $_GET["searchtype"] == "group")){ // GROUP SEARCH ACTIVE 381 $searchterm = ($_SERVER["REQUEST_METHOD"] == "POST") ? (isset($_POST["_group"])?(int)$_POST["_group"]:"") : (isset($_GET["searchterm"])?(int)$_GET["searchterm"]:""); 382 if($searchterm != "*") $sql = "SELECT * FROM mgw_companies WHERE groupid=".$searchterm." AND (owner=".$_SESSION['MGW']->userid." OR ispublic=1) ORDER BY ".$_SESSION["contact"]["company"]["sort_by"].' '.$_SESSION["contact"]["company"]["sort_order"]; 383 else $sql = "SELECT * FROM mgw_companies WHERE owner=".$_SESSION['MGW']->userid." OR ispublic=1 ORDER BY ".$_SESSION["contact"]["company"]["sort_by"].' '.$_SESSION["contact"]["company"]["sort_order"]; 384 $smarty->assign("searchterm",$searchterm); 385 $smarty->assign("searchtype","group"); 386 $searchtype = "group"; 387 } 388 else { // NORMAL LIST VIEW 389 $sql = "SELECT * FROM mgw_companies WHERE owner=".$_SESSION['MGW']->userid." OR ispublic=1 ORDER BY ".$_SESSION["contact"]["company"]["sort_by"].' '.$_SESSION["contact"]["company"]["sort_order"]; 390 } 391 392 if (isset($_GET['npage']) || (isset($_POST['npage']) and $_POST['npage'])){ 393 $curr_page = isset($_POST['npage']) ? $_POST['npage'] : $_GET['npage']; 394 } else { 395 $curr_page = 1; 396 } 397 $smarty->assign("curr_page", $curr_page); 398 if(!$res = $conn->PageExecute($sql, $_SESSION["MGW"]->settings["list_items_number"], $curr_page)) exit(showSQLerror($sql, $conn->ErrorMsg(), __LINE__, __FILE__)); 399 if(!$res->AtFirstPage()) { 400 $smarty->assign("_prev", true); 401 $smarty->assign("ppage", $res->AbsolutePage() - 1); 402 } 403 if(!$res->AtLastPage()) { 404 $smarty->assign("_next", true); 405 $smarty->assign("npage", $res->AbsolutePage() + 1); 406 } 407 408 while($row = $res->FetchRow()) { 409 // build action URLs 410 $aqlink = ""; 411 if (queryRights2_bool("root_modules_contact_crm_create")) { 412 $aqlink = "<a href=\"index.php?mod=contact&obj=crm&view=directnewform&".SID."\">".Lang::getLanguageString('call')."</a>"; 413 } 414 $detlink = "<a href=\"index.php?mod=contact&obj=company&view=details&id=". $row["id"] ."&searchtype=$searchtype&searchterm=$searchterm&npage=$curr_page&".SID."\" class=\"edit\">".$icons["details"]."</a>"; 415 $contactslink = "<a href=\"index.php?mod=contact&obj=person&view=list&compid=". $row["id"] ."&".SID."\" class=\"edit\">".$icons["contacts"]."</a>"; 416 417 // modify only for user with appropriate rights 418 if((queryRights2_bool("root_modules_contact_company_modify") && $row["owner"] == $_SESSION["MGW"]->userid) 419 OR (queryRights2_bool("root_modules_contact_company_modifyothers") && $row["owner"] <> $_SESSION["MGW"]->userid)) { 420 $editlink = "<a href=\"index.php?mod=contact&obj=company&view=editform&id=". $row["id"] ."&npage=$curr_page&list=$list&searchtype=$searchtype&searchterm=$searchterm&npage=$curr_page&".SID."\" class=\"edit\">".$icons["edit"]."</a>"; 421 } 422 else { 423 $editlink = ""; 424 } 425 426 // delete only for user with appropriate rights 427 if((queryRights2_bool("root_modules_contact_company_delete") && $row["owner"] == $_SESSION["MGW"]->userid) 428 OR (queryRights2_bool("root_modules_contact_company_deleteothers") && $row["owner"] <> $_SESSION["MGW"]->userid)) { 429 $dellink = "<a href=\"index.php?mod=contact&obj=company&view=delete&id=". $row["id"]. "&searchtype=$searchtype&searchterm=$searchterm&npage=$curr_page&".SID."\" class=\"delete\">".$icons["delete"]."</a>"; 430 } 431 else { 432 $dellink = ""; 433 } 434 435 if($row['url'] != '' && !stristr($row["url"], 'http')) 436 $row['url'] = 'http://'.$row['url']; 437 //$row["url"] = ($row["url"] != "") ? "<a href=\"".$row["url"]."\" target=\"_blank\">".$row["url"]."</a>" : ""; 438 $row['action'] = $detlink ."<br />". $editlink ."<br />". $dellink ."<br />".$aqlink."<br />". $contactslink ."<br />" 439 ."<hr />". linkEmail2($row["email"]); 440 441 if($row["ispublic"]==1) $row['pimg'] = " "; 442 else $row['pimg'] = $icons['private']; 443 444 $smarty->append("td",$row); 445 } 446 447 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=ispublic"; 448 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=name1"; 449 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=email"; 450 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=street"; 451 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=zip"; 452 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=city"; 453 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=url"; 454 $columns[]['url'] = "index.php?mod=contact&obj=company&view=list&sort=id"; 455 $smarty->assign("columns", $columns); 456 457 $smarty->assign('groups', $conn->GetAssoc("SELECT id, name_key FROM mgw_contacts_groups ORDER by name_key")); 458 $smarty->assign("actgroup", (isset($_POST["_group"])?$_POST["_group"]:"")); 459 $smarty->assign("hascreaterights", queryRights2_bool("root_modules_contact_company_create")); 460 $smarty->assign('at', alphabet_table("mod=contact&obj=company&view=list")); 461 462 if($_SESSION["MGW"]->settings["quicksearchmethod"]=="") $qsbool = false; else $qsbool = true; 463 $smarty->assign("qsearchon", $qsbool); 464 465 return true; 466 } 467 468 function display($template) { 469 global $smarty,$appconf,$myEnv; 470 if (strstr($template,$appconf["gentemplates"])) { 471 472 } elseif (!empty($this->templatesAreIn)) { 473 $smarty->template_dir=ROOTPATH ."/modules/" . $this->templatesAreIn . "/templates/" .$appconf["theme"] ."/" . $myEnv["output"]; 474 } 475 $smarty->display($template); 476 } 477 478 479 480} 481?> 482