PageRenderTime 51ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/inc/functions_interface.inc

https://bitbucket.org/fernandofig/picti
PHP | 601 lines | 531 code | 63 blank | 7 comment | 73 complexity | d82f5c6bd6265f8b9eb8cefacf5d2373 MD5 | raw file
  1. <?
  2. /*
  3. INTERFACE DO USUСRIO
  4. */
  5. function cospeCarros($pag, $limit = 16, $carrosPorLin = 4, $mostraPreco = true, $mostraPaginacao = false, $mostraAleatorio = false) {
  6. if(!is_numeric($pag)) $pag = 1; else $pag = (integer)$pag;
  7. $imgCount = 0;
  8. $sql = " SELECT
  9. CARRO.ID,
  10. CARRO.NOME,
  11. CARRO.VALOR,
  12. CARRO.ANO,
  13. CARRO.DATA_INC,
  14. FOTOS.ID AS ID_FOTO_PRINC
  15. FROM CARRO
  16. LEFT JOIN FOTOS ON (CARRO.ID = FOTOS.CARRO_ID AND FOTOS.FOTO_PRINC = 'S')
  17. ";
  18. if($mostraAleatorio) {
  19. $sql .= " ORDER BY RAND() ";
  20. } else {
  21. $sql .= " ORDER BY CARRO.DATA_INC DESC, CARRO.ID DESC ";
  22. }
  23. $oset = ($pag-1) * $_config["showimgs"];
  24. $prevPg = ($pag>1?$pag-1:false);
  25. $sql = $sql . " LIMIT $oset, 999999 ";//. showimgs;
  26. $rs = mysql_query($sql) or die("Erro: ".mysql_error());
  27. if (mysql_num_rows($rs)==0) {
  28. echo '<div style="font-family:Verdana;font-size:10pt;margin:20px;">Nenhum carro disponэvel no banco de dados<br>de estoque. Tente novamente mais tarde.<br></div>';
  29. } else {
  30. ?>
  31. <div align="center">
  32. <table width="5" border="0" cellspacing="1" cellpadding="10">
  33. <?
  34. while ($rg = mysql_fetch_assoc($rs)) {
  35. if($imgCount % $carrosPorLin == 0) {
  36. ?>
  37. <tr valign="top">
  38. <?
  39. }
  40. $linkedit = "/estoque/zoom.php?id={$rg['ID']}";
  41. ?>
  42. <td width="25%" align="center">
  43. <table cellspacing="0" cellpadding="0" border="0">
  44. <tr align="center">
  45. <td><a href="<?=$linkedit?>"><img src="/images/mini/<?=($rg["ID_FOTO_PRINC"] ? zeroPad($rg["ID"])."-".zeroPad($rg["ID_FOTO_PRINC"]).".jpg":"naodisp.png") ?>" title="<?=$rg["NOME"] . " (" . $rg["ANO"] . ")"?>" border="1"></a></td>
  46. </tr>
  47. <tr>
  48. <td>
  49. <div class="thumbnailtitle" align="center">
  50. <?=$rg["NOME"]?>
  51. <?=(empty($rg['VALOR']) || !$mostraPreco?'':'<br><span class="precoestoque">R$ '.number_format($rg['VALOR'], 2, ",", ".").'</span>')?>
  52. </div>
  53. </td>
  54. </tr>
  55. </table>
  56. </td>
  57. <?
  58. $imgCount++;
  59. if($imgCount % $carrosPorLin == 0) {
  60. ?>
  61. </tr>
  62. <?
  63. }
  64. if($imgCount==$limit) break;
  65. }
  66. if($rg = mysql_fetch_assoc($rs)) {
  67. $nextPg = $pag + 1;
  68. } else {
  69. $nextPg = false;
  70. }
  71. if($mostraPaginacao) {
  72. ?>
  73. <tr>
  74. <td colspan="<?=$carrosPorLin?>" align="center" class="pageText" nowrap>
  75. <? if($prevPg!==false) { ?>
  76. <a href="estoque.php?pag=<?=$prevPg?>">&laquo;&nbsp;Pсgina&nbsp;Anterior</a>
  77. <? } ?>
  78. <? if($prevPg!==false && $nextPg!==false) { ?>&nbsp;&nbsp;&nbsp;&nbsp;<? } ?>
  79. <? if($nextPg!==false) { ?>
  80. <a href="estoque.php?pag=<?=$nextPg?>">Prѓxima&nbsp;Pсgina&nbsp;&raquo;</a>
  81. <? } ?>
  82. </td>
  83. </tr>
  84. <?
  85. }
  86. ?>
  87. </table>
  88. </div>
  89. <?
  90. }
  91. }
  92. function pegaIdNavCarro($id, $posNav) {
  93. $id = addslashes($id);
  94. if($posNav == "prox") {
  95. $cmp = "<";
  96. $ord = "DESC";
  97. } elseif($posNav == "ant") {
  98. $cmp = ">";
  99. $ord = "";
  100. }
  101. $sql = " SELECT ID
  102. FROM CARRO
  103. WHERE ID <> $id
  104. AND DATA_INC $cmp (SELECT DATA_INC FROM CARRO WHERE ID = $id)
  105. ORDER BY DATA_INC $ord, ID $ord
  106. LIMIT 1 ";
  107. $rs = mysql_query($sql);
  108. if(mysql_num_rows($rs)==0) {
  109. return null;
  110. } else {
  111. if($rg = mysql_fetch_row($rs)) return $rg[0]; else return null;
  112. }
  113. }
  114. function pegaIdNavFoto($id, $idFoto, $posNav) {
  115. $id = addslashes($id);
  116. if($posNav == "prox") {
  117. $cmp = ">";
  118. $ord = "";
  119. } elseif($posNav == "ant") {
  120. $cmp = "<";
  121. $ord = "DESC";
  122. }
  123. $sql = " SELECT FOTOS.ID
  124. FROM FOTOS
  125. WHERE FOTOS.ID $cmp $idFoto
  126. AND FOTOS.CARRO_ID = $id
  127. ORDER BY FOTOS.ID $ord
  128. LIMIT 1 ";
  129. $rs = mysql_query($sql);
  130. if(mysql_num_rows($rs)==0) {
  131. return null;
  132. } else {
  133. if($rg = mysql_fetch_row($rs)) return $rg[0]; else return null;
  134. }
  135. }
  136. function getPrimIdFotoCarro($id) {
  137. $sql = " SELECT MIN(FOTOS.ID) AS PRIMID FROM FOTOS WHERE CARRO_ID = $id ";
  138. $rs = mysql_query($sql);
  139. if($rg = mysql_fetch_row($rs)) return $rg[0];
  140. }
  141. function pegaDadosZoom($id, $idFoto = null) {
  142. global $_config;
  143. if(!empty($id)) {
  144. if(is_numeric($id)) {
  145. $sql = " SELECT ID, NOME, VALOR, ANO, OBS FROM CARRO WHERE ID = $id ";
  146. $rs = mysql_query($sql);
  147. if (mysql_num_rows($rs)==0 || !($rg = mysql_fetch_assoc($rs))) {
  148. redir("estoque.php");
  149. } else {
  150. $rg["OBS"] = trim($rg["OBS"]);
  151. if(empty($idFoto) || !is_numeric($idFoto)) $idFoto = getPrimIdFotoCarro($id);
  152. if(is_null($idFoto))
  153. return array(
  154. "NOME_CARRO" => trim($rg["NOME"]),
  155. "VALOR_CARRO" => (empty($rg["VALOR"])?'<span style="color:#cccccc;">Consulte-nos!</span>':number_format($rg["VALOR"], 2, ",", ".")),
  156. "ANO_CARRO" => $rg["ANO"],
  157. "OBS_CARRO" => $rg["OBS"],
  158. "DESC_FOTO" => (empty($rgFoto["DESCRICAO"])?'':' ('.$rgFoto["DESCRICAO"].')'),
  159. "IMG_PATH" => "/images/naodisp.png",
  160. "IMG_W" => 640,
  161. "IMG_H" => 480,
  162. "LIST_MINIS" => "",
  163. "LNK_CARRO_ANT" => (is_null($lnk_carro_ant)?'<img src="arlesimages/in_tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_ant.'"><img src="arlesimages/tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[&lt; OFERTA ANTERIOR]" title="OFERTA ANTERIOR"></a>'),
  164. "LNK_CARRO_PROX" => (is_null($lnk_carro_prox)?'<img src="arlesimages/in_tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_prox.'"><img src="arlesimages/tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[PRгXIMA OFERTA &gt;]" title="PRгXIMA OFERTA"></a>'),
  165. "LNK_FOTO_ANT" => "&nbsp;",
  166. "LNK_FOTO_PROX" => "&nbsp;",
  167. "LNK_ESTOQUE" => '<a href="estoque.php"><img src="arlesimages/tsign_solid_black_index.gif" border="0" height="30" width="30" alt="ESTOQUE" title="RETORNAR AO CATСLOGO DE ESTOQUE"></a>'
  168. );
  169. $sql = " SELECT ID, DESCRICAO FROM FOTOS WHERE ID = $idFoto ";
  170. $rsFoto = mysql_query($sql);
  171. if(mysql_num_rows($rsFoto)>0 && $rgFoto = mysql_fetch_assoc($rsFoto)) {
  172. $rgFoto["DESCRICAO"] = trim($rgFoto["DESCRICAO"]);
  173. $nomeImg = zeroPad($id)."-".zeroPad($idFoto).".jpg";
  174. $lnk_carro_ant = pegaIdNavCarro($id, "ant");
  175. $lnk_carro_prox = pegaIdNavCarro($id, "prox");
  176. $lnk_foto_ant = pegaIdNavFoto($id, $idFoto, "ant");
  177. $lnk_foto_prox = pegaIdNavFoto($id, $idFoto, "prox");
  178. //var_dump(get_defined_vars());
  179. if(file_exists($_config["docroot"] . "/images/" . $nomeImg)) {
  180. $img = @imagecreatefromjpeg($_config["docroot"] . "/images/" . $nomeImg);
  181. list($img_width,$img_height) = array(imagesx($img),imagesy($img));
  182. return array(
  183. "NOME_CARRO" => trim($rg["NOME"]),
  184. "VALOR_CARRO" => (empty($rg["VALOR"])?'<span style="color:#cccccc;">Consulte-nos!</span>':number_format($rg["VALOR"], 2, ",", ".")),
  185. "ANO_CARRO" => $rg["ANO"],
  186. "OBS_CARRO" => $rg["OBS"],
  187. "DESC_FOTO" => (empty($rgFoto["DESCRICAO"])?'':' ('.$rgFoto["DESCRICAO"].')'),
  188. "IMG_PATH" => "/images/" . $nomeImg,
  189. "IMG_W" => $img_width,
  190. "IMG_H" => $img_height,
  191. "LIST_MINIS" => listaFotosZoom($id, $idFoto),
  192. "LNK_CARRO_ANT" => (is_null($lnk_carro_ant)?'<img src="arlesimages/in_tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_ant.'"><img src="arlesimages/tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[&lt; OFERTA ANTERIOR]" title="OFERTA ANTERIOR"></a>'),
  193. "LNK_CARRO_PROX" => (is_null($lnk_carro_prox)?'<img src="arlesimages/in_tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_prox.'"><img src="arlesimages/tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[PRгXIMA OFERTA &gt;]" title="PRгXIMA OFERTA"></a>'),
  194. "LNK_FOTO_ANT" => (is_null($lnk_foto_ant)?'<img src="arlesimages/in_tsign_solid_black_previous.gif" align="absmiddle" border="0" height="30" width="30">':'<a href="zoom.php?id='.$id.'&idFoto='.$lnk_foto_ant.'"><img src="arlesimages/tsign_solid_black_previous.gif" align="absmiddle" border="0" height="30" width="30" alt="[&lt; FOTO ANTERIOR]" title="FOTO ANTERIOR"></a>'),
  195. "LNK_FOTO_PROX" => (is_null($lnk_foto_prox)?'<img src="arlesimages/in_tsign_solid_black_next.gif" align="absmiddle" border="0" height="30" width="30">':'<a href="zoom.php?id='.$id.'&idFoto='.$lnk_foto_prox.'"><img src="arlesimages/tsign_solid_black_next.gif" align="absmiddle" border="0" height="30" width="30" alt="[PRгXIMA FOTO &gt;]" title="PRгXIMA FOTO"></a>'),
  196. "LNK_ESTOQUE" => '<a href="estoque.php"><img src="arlesimages/tsign_solid_black_index.gif" border="0" height="30" width="30" alt="ESTOQUE" title="RETORNAR AO CATСLOGO DE ESTOQUE"></a>'
  197. );
  198. } else {
  199. return array(
  200. "NOME_CARRO" => trim($rg["NOME"]),
  201. "VALOR_CARRO" => (empty($rg["VALOR"])?'<span style="color:#cccccc;">Consulte-nos!</span>':number_format($rg["VALOR"], 2, ",", ".")),
  202. "ANO_CARRO" => $rg["ANO"],
  203. "OBS_CARRO" => $rg["OBS"],
  204. "DESC_FOTO" => (empty($rgFoto["DESCRICAO"])?'':' ('.$rgFoto["DESCRICAO"].')'),
  205. "IMG_PATH" => "/images/naodisp.png",
  206. "IMG_W" => 640,
  207. "IMG_H" => 480,
  208. "LIST_MINIS" => listaFotosZoom($id, $idFoto),
  209. "LNK_CARRO_ANT" => (is_null($lnk_carro_ant)?'<img src="arlesimages/in_tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_ant.'"><img src="arlesimages/tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[&lt; OFERTA ANTERIOR]" title="OFERTA ANTERIOR"></a>'),
  210. "LNK_CARRO_PROX" => (is_null($lnk_carro_prox)?'<img src="arlesimages/in_tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_prox.'"><img src="arlesimages/tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[PRгXIMA OFERTA &gt;]" title="PRгXIMA OFERTA"></a>'),
  211. "LNK_FOTO_ANT" => (is_null($lnk_foto_ant)?'<img src="arlesimages/in_tsign_solid_black_previous.gif" align="absmiddle" border="0" height="30" width="30">':'<a href="zoom.php?id='.$id.'&idFoto='.$lnk_foto_ant.'"><img src="arlesimages/tsign_solid_black_previous.gif" align="absmiddle" border="0" height="30" width="30" alt="[&lt; FOTO ANTERIOR]" title="FOTO ANTERIOR"></a>'),
  212. "LNK_FOTO_PROX" => (is_null($lnk_foto_prox)?'<img src="arlesimages/in_tsign_solid_black_next.gif" align="absmiddle" border="0" height="30" width="30">':'<a href="zoom.php?id='.$id.'&idFoto='.$lnk_foto_prox.'"><img src="arlesimages/tsign_solid_black_next.gif" align="absmiddle" border="0" height="30" width="30" alt="[PRгXIMA FOTO &gt;]" title="PRгXIMA FOTO"></a>'),
  213. "LNK_ESTOQUE" => '<a href="estoque.php"><img src="arlesimages/tsign_solid_black_index.gif" border="0" height="30" width="30" alt="ESTOQUE" title="RETORNAR AO CATСLOGO DE ESTOQUE"></a>'
  214. );
  215. }
  216. } else {
  217. return array(
  218. "NOME_CARRO" => trim($rg["NOME"]),
  219. "VALOR_CARRO" => (empty($rg["VALOR"])?'<span style="color:#cccccc;">Consulte-nos!</span>':number_format($rg["VALOR"], 2, ",", ".")),
  220. "ANO_CARRO" => $rg["ANO"],
  221. "OBS_CARRO" => $rg["OBS"],
  222. "DESC_FOTO" => (empty($rgFoto["DESCRICAO"])?'':' ('.$rgFoto["DESCRICAO"].')'),
  223. "IMG_PATH" => "/images/naodisp.png",
  224. "IMG_W" => 640,
  225. "IMG_H" => 480,
  226. "LIST_MINIS" => "",
  227. "LNK_CARRO_ANT" => (is_null($lnk_carro_ant)?'<img src="arlesimages/in_tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_ant.'"><img src="arlesimages/tsign_solid_black_previous_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[&lt; OFERTA ANTERIOR]" title="OFERTA ANTERIOR"></a>'),
  228. "LNK_CARRO_PROX" => (is_null($lnk_carro_prox)?'<img src="arlesimages/in_tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73">':'<a href="zoom.php?id='.$lnk_carro_prox.'"><img src="arlesimages/tsign_solid_black_next_car.gif" align="absmiddle" border="0" height="30" width="73" alt="[PRгXIMA OFERTA &gt;]" title="PRгXIMA OFERTA"></a>'),
  229. "LNK_FOTO_ANT" => "&nbsp;",
  230. "LNK_FOTO_PROX" => "&nbsp;",
  231. "LNK_ESTOQUE" => '<a href="estoque.php"><img src="arlesimages/tsign_solid_black_index.gif" border="0" height="30" width="30" alt="ESTOQUE" title="RETORNAR AO CATСLOGO DE ESTOQUE"></a>'
  232. );
  233. }
  234. }
  235. } else {
  236. redir("estoque.php");
  237. }
  238. } else {
  239. redir("estoque.php");
  240. }
  241. }
  242. /*
  243. INTERFACE ADM
  244. */
  245. function pgRaizAdm() {
  246. ?>
  247. <table width="100%" class="tabadm">
  248. <tr>
  249. <td align="center">
  250. <b><a href="#" onclick="abreInclui();">INCLUIR CARRO</a></b>
  251. <div id="dadosIncCarro">
  252. <? formEditDadosCarro("incluir"); ?>
  253. </div>
  254. </td>
  255. </tr>
  256. </table>
  257. <br>
  258. <table width="500" class="tabadm">
  259. <tr>
  260. <td align="center" style="border-bottom: 1px solid silver;padding-bottom:3px;"><b>CARROS CADASTRADOS</b></td>
  261. </tr>
  262. <? listaCarros(); ?>
  263. </table>
  264. <?
  265. }
  266. function pgEdicaoCarro() {
  267. ?>
  268. <table class="tabadm">
  269. <tr>
  270. <td align="center" style="border-bottom: 1px solid silver;padding-bottom:3px;">
  271. <div style="position:absolute;"><a href="index.php" style="font-size:8pt;">&laquo; Voltar</a></div>
  272. <b>DADOS DO CARRO</b>
  273. <? formEditDadosCarro("editar", $_REQUEST["editaid"]); ?>
  274. </td>
  275. </tr>
  276. <tr>
  277. <td align="center" style="border-bottom: 1px solid silver;padding-bottom:3px;">
  278. <b>UPLOAD DE FOTO DO CARRO</b>
  279. <table border="0">
  280. <form action="envia_foto.php" method="post" enctype="multipart/form-data">
  281. <input type="Hidden" name="carro_id" value="<?=$_REQUEST["editaid"]?>">
  282. <input type="Hidden" name="MAX_FILE_SIZE" value="<?=($_config["tammax"] * 1024 * 1024)?>">
  283. <tr>
  284. <td>Foto:</td><td><input name="arqfoto" type="File" size="30"></td>
  285. </tr>
  286. <tr>
  287. <td>Texto descritivo:</td><td><input name="desc" type="Text" value="" style="width:100%;"></td>
  288. </tr>
  289. <?
  290. if(carroTemFoto($_REQUEST["editaid"])) {
  291. ?>
  292. <tr>
  293. <td colspan="2" align="center"><label for="ftprc"><input id="ftprc" type="Checkbox" name="foto_princ" value="S">Foto principal <span style="font-size:8pt;">(serс exibida na lista geral de estoque)</span></label></td>
  294. </tr>
  295. <?
  296. } else {
  297. ?>
  298. <input type="Hidden" name="foto_princ" value="S">
  299. <?
  300. }
  301. ?>
  302. <tr>
  303. <td colspan="2" align="center"><input type="Submit" value="Enviar Foto"></td>
  304. </tr>
  305. </form>
  306. </table>
  307. </td>
  308. </tr>
  309. <tr>
  310. <td align="center">
  311. <b>FOTOS DO CARRO CADASTRADAS</b><br>
  312. <? listaFotosCarro($_REQUEST["editaid"]) ?>
  313. </td>
  314. </tr>
  315. </table>
  316. <?
  317. }
  318. function formEditDadosCarro($acao, $id = null) {
  319. if($acao == "editar") {
  320. $sql = " SELECT * FROM CARRO WHERE ID=$id";
  321. $rs = mysql_query($sql);
  322. if (mysql_num_rows($rs)==0) {
  323. die("Registro inexistente!");
  324. } else {
  325. if($rg=mysql_fetch_assoc($rs)) {
  326. array_change_key_case($rg, CASE_UPPER);
  327. extract($rg);
  328. } else {
  329. die("Erro ao obter dados do banco de dados!");
  330. }
  331. }
  332. } else {
  333. $NOME = "";
  334. $ANO = "";
  335. $VALOR = "";
  336. $OBS = "";
  337. }
  338. ?>
  339. <table border="0">
  340. <form action="salva.php" method="post">
  341. <input type="Hidden" name="acao" value="<?=$acao?>">
  342. <tr>
  343. <td nowrap>NOME DO CARRO:</td>
  344. <td><input type="Text" name="nome" value="<?=$NOME?>" maxlength="128" style="width:280px;"></td>
  345. </tr>
  346. <tr>
  347. <td>&nbsp;</td>
  348. <td align="right">ANO:<input type="Text" name="ano" value="<?=$ANO?>" size="5" maxlength="4">&nbsp;&nbsp;VALOR (R$): <input type="Text" name="valor" value="<?=str_replace(".",",",$VALOR)?>" size="10" maxlength="12"></td>
  349. </tr>
  350. <tr>
  351. <td valign="top">OBSERVAЧеES:</td>
  352. <td align="right"><textarea name="obs" rows="5" style="width:280px;font-size:9pt;" wrap="soft"><?=$OBS?></textarea></td>
  353. </tr>
  354. <tr>
  355. <td colspan="2" align="right"><? if($acao=="editar") { ?><input type="Hidden" name="idedit" value="<?=$id?>"><input type="Button" name="volta" value="<< Voltar" onclick="javascript:location.href='index.php';"> <input type="Button" name="delete" value="Apagar este carro e fotos" onclick="javascript:if(confirm('As Fotos do carro tambщm serуo excluэdas, e esta operaчуo nуo pode\nser revertida. Deseja mesmo continuar?')) location.href='salva.php?acao=deletaCarro&delid[]=<?=$id?>';"> <? } ?><input type="Submit" value="<?=($acao!="editar" ? "Incluir" : "Salvar")?>"></td>
  356. </tr>
  357. </form>
  358. </table>
  359. <?
  360. }
  361. function listaCarros() {
  362. ?>
  363. <form action="salva.php" id="form_carroDelete" name="carroDelete" method="post">
  364. <tr>
  365. <td style="padding-top:3px;" align="center">
  366. <?
  367. $temvelho = false;
  368. $sql = " SELECT
  369. CARRO.ID,
  370. CARRO.NOME,
  371. CARRO.VALOR,
  372. CARRO.ANO,
  373. IF(DATA_INC<=DATE_SUB(CURDATE(), INTERVAL 2 MONTH),1,0) AS EHVELHO,
  374. FOTOS.ID AS ID_FOTO_PRINC
  375. FROM CARRO
  376. LEFT JOIN FOTOS ON (CARRO.ID = FOTOS.CARRO_ID AND FOTOS.FOTO_PRINC = 'S')
  377. ORDER BY DATA_INC, ID";
  378. $rs = mysql_query($sql);
  379. if (mysql_num_rows($rs)==0) {
  380. echo "(Nenhum carro cadastrado)<br>";
  381. } else {
  382. while ($rg = mysql_fetch_assoc($rs)) {
  383. $linkedit = "index.php?editaid={$rg['ID']}";
  384. ?>
  385. <div class="imgTb">
  386. <table cellpadding="0" cellspacing="0" border="0">
  387. <input type="Hidden" name="acao" value="deletaCarro">
  388. <tr>
  389. <td colspan="3" align="center" style="font-weight:bold;font-size:8pt;font-family:Arial;"><?=($rg["EHVELHO"] ? "<font color=\"yellow\">" . $rg["NOME"] . "</font>" : $rg["NOME"])?></td>
  390. </tr>
  391. <tr>
  392. <td colspan="3"><a href="<?=$linkedit?>"><img src="/images/mini/<?=($rg["ID_FOTO_PRINC"] ? zeroPad($rg["ID"])."-".zeroPad($rg["ID_FOTO_PRINC"]).".jpg":"naodisp.png") ?>" title="<?=$rg["NOME"] . " (" . $rg["ANO"] . ")"?> - Clique para editar" style="border:2px <?= ($rg["EHVELHO"]?'solid yellow':'solid #303030') ?>;"></a></td>
  393. </tr>
  394. <tr>
  395. <td width="1"><input type="Checkbox" onclick="atualizaBotaoDeleteCarro();" name="delid[]" id="chk_<?=$rg["ID"]?>" value="<?=$rg["ID"]?>" class="<?=($rg["EHVELHO"] ? 'chk_deleteCarro chkCarroAntigo' : 'chk_deleteCarro')?>"></td>
  396. <td style="font-family:Arial;font-size:8pt;"><label for="chk_<?=$rg["ID"]?>" style="cursor:pointer;">Deletar</label></td>
  397. <td style="font-family:Arial;font-size:8pt;" align="right"><a href="<?=$linkedit?>">Editar</a></td>
  398. </tr>
  399. </table>
  400. </div>
  401. <?
  402. if($rg["EHVELHO"]) $temvelho = true;
  403. }
  404. mysql_free_result($rs);
  405. ?>
  406. </td>
  407. </tr>
  408. <tr>
  409. <td align="center">
  410. <table cellpadding="2" cellspacing="0" border="0">
  411. <tr>
  412. <? if($temvelho) { ?>
  413. <td align="center">
  414. <a href="javascript:void(0);" onclick="selecionaCarrosAntigos(); this.blur(); return false;">
  415. Selecionar carros antigos<br>
  416. <span style="font-size:8pt;">(mais de 2 meses)</span>
  417. </a>
  418. <? } ?>
  419. </td>
  420. <td><input type="Submit" name="deleCarroSubm" value="Deletar carros selecionados"></td>
  421. <td align="center">
  422. <a href="javascript:void(0);" onclick="document.carroDelete.reset(); atualizaBotaoDeleteCarro(); this.blur(); return false;">
  423. Limpar seleчѕes
  424. </a>
  425. </tr>
  426. </table>
  427. </td>
  428. </tr>
  429. <?
  430. }
  431. if($temvelho) {
  432. ?>
  433. <tr>
  434. <td style="color:#ffcccc;font-size:8pt;font-weight:bold;font-family:Arial;" align="center">
  435. Existem Carros que estуo cadastrados mais de 2 meses. Eles estуo destacados em amarelo, clique no link<br>
  436. "Selecionar Carros Antigos" acima para selecionar todos esses carros, e clique em "Deletar" para confirmar.
  437. </td>
  438. </tr>
  439. <?
  440. }
  441. ?>
  442. </form>
  443. <?
  444. }
  445. function listaFotosZoom($id, $idFoto = null) {
  446. $sql = " SELECT COUNT(ID) AS TEMFOTOS FROM FOTOS WHERE CARRO_ID = ". $id;
  447. $rs = mysql_query($sql);
  448. if(($rg = mysql_fetch_row($rs)) && (integer)$rg[0]<2) return "";
  449. if(empty($idFoto)) {
  450. $sql = " SELECT MIN(ID) AS PRIM_ID FROM FOTOS WHERE CARRO_ID = ". $id;
  451. $rs = mysql_query($sql);
  452. $rg = mysql_fetch_row($rs);
  453. $idFoto = (integer)$rg[0];
  454. }
  455. $sql = " SELECT * FROM FOTOS WHERE CARRO_ID = " .$id. " ORDER BY ID ";
  456. $rs = mysql_query($sql);
  457. $minis = array();
  458. $cnt = 0;
  459. while($rg = mysql_fetch_assoc($rs)) $minis[] = array((integer)$rg["ID"], ((integer)$rg["ID"]==$idFoto ? true : false), $rg["DESCRICAO"]);
  460. foreach($minis as $umMini) {
  461. if($umMini[1]) break;
  462. $cnt++;
  463. }
  464. $edOffset = (count(array_slice($minis, $cnt+1))>=2 ? 2 : 5 - count(array_slice($minis, $cnt+1)) - 1);
  465. $offset = (count($minis)>5 ? ($cnt - 2 < 0 ? 0 : $cnt - $edOffset) : 0);
  466. $minis = array_slice($minis, $offset, 5);
  467. $fotos = "";
  468. foreach($minis as $umMini) {
  469. $fotos .= '<td align="center">';
  470. $fotos .= '<a href="zoom.php?id='.$id.'&idFoto='.$umMini[0].'">';
  471. $fotos .= '<img src="/images/mini/'.zeroPad($id).'-'.zeroPad($umMini[0]).'.jpg" height="80" style="border:5px solid '.($umMini[1] ? 'white' : '#333333').'" title="'.$umMini[2].'">';
  472. $fotos .= '</a></td>';
  473. }
  474. $fotos = '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:4px;"><tr>'.$fotos.'</tr></table>';
  475. return $fotos;
  476. }
  477. function listaFotosCarro($id) {
  478. $sql = " SELECT * FROM FOTOS WHERE CARRO_ID = " .$id. " ORDER BY ID ";
  479. $rs = mysql_query($sql);
  480. if (mysql_num_rows($rs)==0) {
  481. echo '<div align="center" style="font-style:italic;padding:15px;">Nуo hс nenhuma foto disponэvel para este Carro.</div>';
  482. } else {
  483. ?>
  484. <div id="ftEditDiv">
  485. <table align="center" border="0" cellpadding="3" cellspacing="0" style="margin-top:15px;margin-left:4px;margin-right:4px;">
  486. <form name="fotoEditData" action="salva.php" method="post" onsubmit="return desatForm();">
  487. <input type="Hidden" name="acao" value="editFoto">
  488. <input type="Hidden" name="fotoId" value="">
  489. <input type="Hidden" name="carro_id" value="<?=$_REQUEST["editaid"]?>">
  490. <tr>
  491. <td width="10%" nowrap>Descriчуo:</td>
  492. <td><input name="descr" type="Text" value="" style="width:100%;"></td>
  493. </tr>
  494. <tr>
  495. <td colspan="2" align="center"><label for="ftprcEd"><input id="ftprcEd" type="Checkbox" name="foto_princ" value="S">Foto principal <span style="font-size:8pt;">(serс exibida na lista geral de estoque)</span></label></td>
  496. </tr>
  497. <tr>
  498. <td colspan="2" align="center"><input type="Submit" name="ftSubm" value="Salvar"> <input name="ftCanc" type="Button" value="Cancelar" onclick="abreEditFoto(0);"></td>
  499. </tr>
  500. </form>
  501. </table>
  502. </div>
  503. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  504. <form action="salva.php" name="fotoDelete" id="form_fotoDelete" method="post" onsubmit="return confirm('As fotos selecionadas serуo permanentemente excluэdas.\nConfirma?');">
  505. <input type="Hidden" name="acao" value="deleteFoto">
  506. <input type="Hidden" name="carro_id" value="<?=$_REQUEST["editaid"]?>">
  507. <tr>
  508. <td>
  509. <?
  510. while ($rg = mysql_fetch_assoc($rs)) {
  511. ?>
  512. <div class="imgTb">
  513. <table cellpadding="1" cellspacing="0" border="0">
  514. <tr>
  515. <td colspan="3"><img src="/images/mini/<?=zeroPad($rg["CARRO_ID"])?>-<?=zeroPad($rg["ID"])?>.jpg" title="<?=$rg["DESCRICAO"]?>" style="border:3px <?= ($rg["FOTO_PRINC"]=="S"?'dotted white':'solid #303030') ?>;"></td>
  516. </tr>
  517. <tr>
  518. <td width="1"><input type="Checkbox" onclick="atualizaBotaoDeleteFoto();" class="chk_deleteFoto" id="chk_<?=$rg["ID"]?>" name="deleFt[]" value="<?=$rg["ID"]?>"></td>
  519. <td class="tdItemAdm"><label for="chk_<?=$rg["ID"]?>" style="cursor:pointer;">Deletar</label></td>
  520. <td class="tdItemAdm" align="right"><a href="javascript:void(0);" onclick="abreEditFoto(<?= $rg["ID"] ?>,'<?= $rg["DESCRICAO"] ?>',<?= ($rg["FOTO_PRINC"]=="S"?'true':'false') ?>); return false;">Ed. Dados</a></td>
  521. </tr>
  522. </table>
  523. </div>
  524. <?
  525. }
  526. mysql_free_result($rs);
  527. ?>
  528. </td>
  529. </tr>
  530. <tr>
  531. <td align="center"><input type="Submit" name="deleFotoSubm" value="Deletar fotos selecionadas"></td>
  532. </tr>
  533. </form>
  534. </table>
  535. <?
  536. }
  537. }
  538. ?>