navigation  interaction  search

 other resources

Changeset 62

Show
Ignore:
Timestamp:
11/22/05 18:46:05
Author:
brieb
Message:

- Added DB file system.
- Added attachment sections to invoices, product, and clients.
- Fixed caching problem with graphics.
- Added default tax area to clients.

fixed currency formatting.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/changelog.txt

    r61 r62  
    3535- PDF reports are now printed directly, instead of writing to a temp file. 
    3636- Fixed recording of times in database. 
     37- Added DB file system. 
     38- Added attachment sections to invoices, product, and clients. 
     39- Fixed caching problem with graphics. 
     40- Added default tax area to client. 
    3741 
    3842phpBMS v0.602/ BMS module v0.602 
  • trunk/common/javascript/fields.js

    r52 r62  
    282282function formatCurrency(thenumber){ 
    283283        var newdollar,retval 
    284          
     284        thenumber=thenumber.toString();         
    285285        //check for number               
    286286        if (isNaN(parseFloat(thenumber)) || thenumber.length!=((parseFloat(thenumber)).toString()).length) thenumber="0.00"; 
     287 
    287288        // add the dollar sign... remember that if it is a negative number, the minus sign goes in front 
    288289        if(thenumber.charAt(0)=="-") { 
  • trunk/common/stylesheet/mozilla/base.css

    r14 r62  
    8181.huge{font-size : 17px;} 
    8282.large{font-size : 16px;} 
    83 .small { font-size : 11px;} 
     83.small,.notes { font-size : 11px;} 
    8484.tiny { font-size : 10px} 
    8585.mono {font-family:'Courier New', Courier, mono;} 
    8686 
    8787.standout,#statusmessage{ background-color:#0B63A2; color:white; font-weight:bold; font-size:15px; padding:4px;} 
     88 
     89.notes {color:#DF0005} 
    8890 
    8991.important {font-weight:bold;} 
     
    293295.qh1, .qh2{background-color:black; cursor: pointer; cursor: hand;} 
    294296.qh1 td, .qh2 td{color:white; border-right-color: white; border-bottom-color: white;} 
     297.qh1, .qh2{background-color:black; cursor: pointer; cursor: hand;} 
     298.qh1 a, .qh2 a{color:white;} 
    295299 
    296300 
     
    312316.smallQueryTable td{background-color:white;border-bottom:1px solid #CCCCCC; border-right:1px solid #CCCCCC; padding:2px;padding-left:4px; padding-right:4px;cursor:pointer;} 
    313317.smallQueryTable tr:Hover td{background-color:#999999;color:white;text-decoration:none;} 
     318.smallQueryTable tr:Hover td a{color:white;} 
    314319.smallQueryTableSelected td{background-color:black;color:white} 
     320.smallQueryTableSelected a{color:white} 
    315321.smallQueryTable tr.smallQueryTableSelected:Hover  td{background-color:black;color:white} 
    316322/* ============================================================================== */ 
  • trunk/dbgraphic.php

    r51 r62  
    3535 +-------------------------------------------------------------------------+ 
    3636*/ 
     37        session_cache_limiter('private'); 
    3738        require_once("include/session.php"); 
    3839        if(!isset($_GET["t"]) or !isset($_GET["r"]) or !isset($_GET["f"]) or !isset($_GET["mf"])) die("Invlaid Paramateers Set"); 
  • trunk/include/common_functions.php

    r61 r62  
    5757                else echo "<a href=\"".$theitem["href"]."\">".$theitem["name"]."</a>"; 
    5858                if ($theitem["notify"]) { 
    59                 ?><img src="<?php echo $_SESSION["app_path"]?>common/stylesheet/<?php echo $_SESSION["stylesheet"] ?>/button-note.png" alt="*" align="absmiddle" width="16" height="16" border="0"><?php 
     59                ?> <img src="<?php echo $_SESSION["app_path"]?>common/stylesheet/<?php echo $_SESSION["stylesheet"] ?>/button-note.png" alt="*" align="absmiddle" width="16" height="16" border="0"><?php 
    6060                } 
    6161                ?></td><?php  
     
    272272                        $value=formatDateTime($value); 
    273273                break; 
     274                case "filelink": 
     275                        $value="<a href=\"".$_SESSION["app_path"]."servefile.php?i=".$value."\" style=\"display:block;\"><img src=\"".$_SESSION["app_path"]."common/stylesheet/".$_SESSION["stylesheet"]."/button-download.png\" align=\"middle\" alt=\"view\" width=\"16\" height=\"16\" border=\"0\" /></a>"; 
    274276        } 
    275277        return $value; 
  • trunk/include/search_class.php

    r58 r62  
    116116                        mysql_data_seek($this->queryresult,0); 
    117117                        while($therecord = mysql_fetch_array($this->queryresult)){ 
    118                                 ?><tr class="qr<?php echo $rownum?>" id="r-<?php echo $therecord["id"]?>" <?php 
     118                                ?><tr class="qr<?php echo $rownum?>" id="r-<?php echo $therecord["theid"]?>" <?php 
    119119 
    120120                                if ($this->options["select"]) { 
     
    689689                                                 
    690690                        $this->therecords=$this->thetabledef["querytable"]." ".$this->queryjoinclause." WHERE ".$this->querywhereclause." ORDER BY ".$this->querysortorder; 
    691                         $this->querystatement = "SELECT DISTINCT ".$querycolumns." FROM ".$this->therecords; 
     691                        $this->querystatement = "SELECT DISTINCT ".$this->thetabledef["maintable"].".id as theid,".$querycolumns." FROM ".$this->therecords; 
    692692 
    693693                        parent::issueQuery(); 
  • trunk/install/createtables.sql

    r60 r62  
    9898 
    9999 
    100 CREATE TABLE tablecolumns
    101   id int(11) NOT NULL auto_increment, 
    102   tabledefid int(11) NOT NULL default '0', 
    103   name varchar(64) NOT NULL default '', 
     100CREATE TABLE `tablecolumns`
     101  `id` int(11) NOT NULL auto_increment, 
     102  `tabledefid` int(11) NOT NULL default '0', 
     103  `name` varchar(64) NOT NULL default '', 
    104104  `column` varchar(255) NOT NULL default '', 
    105   align varchar(16) NOT NULL default '', 
    106   footerquery varchar(255) default '', 
    107   displayorder int(11) NOT NULL default '0', 
    108   sortorder varchar(128) default '', 
    109   wrap tinyint(1) NOT NULL default '0', 
    110   size varchar(16) NOT NULL default '', 
    111   format enum('date','time','currency','boolean','datetime') default NULL, 
    112   PRIMARY KEY  (id), 
    113   KEY tabledef (tabledefid), 
    114   KEY displayorder (displayorder
     105  `align` varchar(16) NOT NULL default '', 
     106  `footerquery` varchar(255) default '', 
     107  `displayorder` int(11) NOT NULL default '0', 
     108  `sortorder` varchar(128) default '', 
     109  `wrap` tinyint(1) NOT NULL default '0', 
     110  `size` varchar(16) NOT NULL default '', 
     111  `format` enum('date','time','currency','boolean','datetime','filelink') default NULL, 
     112  PRIMARY KEY  (`id`), 
     113  KEY `tabledef` (`tabledefid`), 
     114  KEY `displayorder` (`displayorder`
    115115) TYPE=MyISAM; 
    116116 
     
    214214  `id` int(11) NOT NULL auto_increment, 
    215215  `name` varchar(128) NOT NULL default '', 
    216   `accesslevel` int(11) NOT NULL default '0',  
    217   `servename` varchar(64) NOT NULL default '', 
     216  `description` text, 
    218217  `file` longblob, 
    219218  `type` varchar(100) default '', 
     
    222221  `modifiedby` int(11) default '0', 
    223222  `modifieddate` timestamp(14) NOT NULL, 
     223  `accesslevel` int(11) NOT NULL default '0', 
    224224  PRIMARY KEY  (`id`) 
    225225) TYPE=MyISAM;  
  • trunk/install/files.sql

    r60 r62  
    1 INSERT INTO files VALUES (1,'Printed Logo','logo.png','‰PNG\r\n\Z\n\0\0\0\rIHDR\0\0\0\0\0]\0\0\0ŸS°\0\0\0gAMA\0\0¯È7Šé\0\0\0tEXtSoftware\0Adobe ImageReadyqÉe<\0\0\0`PLTE666ÑÑѶ¶¶óó󪪪kkk   rrrœœœÅÅŎŽŽèèèÛÛۄ„„¿¿¿|||XXXÞÞÞðððˆˆˆÉÉÉââ╕•€€€KKK&&&QQQPPP%%%bbbcccÿÿÿV\"l\0\0\0ØIDATxÚb \0@ £A\0\0D£påΡ\0D£pà”®¡\04ˆÃA‘‘‘‰ ˜±I#€<^inT)&1^v99YYv^.f°@\0a†ƒ /¿¬X#%á I~8°\0] +t*‚#ËÏ&‚¬†WVVN®‚ÝV~šŽ¬Bœ›\" \n0àgj Žp\0«’“…™!Ë*&B^8HR” »ìYš‹XYþåE\n\'9Y>4Dà¡\0bð„™ÅPtA[–•Y €P‘ŠQJ;ýó4`±ˆ³XEéæUkÑ­b“Eòƒ,,DXáA %‡]^ €Â› Y…48@و‘Þá\0      \0H’”ƒš,óCÓ $ݰ¢™ÀÓ–‡†ŸÜHx~qØäå|¬²ð —…¹\ZlÌdä IJ҃¬R”ÈÂD@šT`*QãJáO€„Ÿ,<¡#ùÈŠ1€\0‚‡ƒ,úå`@óØ-üÌ‘/d‘\0–: Ά©‘ƒû‰\r-[ •0@\Z6¬pŸÁÊHšwž D0È\"r%\"`)“UÄp€(_ Õðr  b\rV–\".;z¶@$) ZÁÀJGx      , +=\0ˆ ²rˆBZžÜ \ZA9†Ž€ 8`Y‚     ìgfF6V9xE**¹¹a>%ä67<aCT       r\Z°\"e5+XØÀ•P € á &+‹€Mžq <.™Žá\0/Äàٞ™Q€sÁœ…T±0!ég’E*¡ùB QÞq!ŒÂÌÇ% Ša€\0‡“rÙ Ër°àc‘g;‹—ÞåÈáˆâ™]–øAá\0ËéŒPQdË a&Ç Ï@CµcÖ±à„@ àÂQÙ\"אРÐ%,lÅB×ô\0IŒ(‘ +%Àá\0M\nl²ÐÒ%[€œÃ¯#å™á9][ xË ‘ìd…$       ‰AÌcåÆépFNNQ<é(-„ÏßèÚáõr80Âê\0p2çƒú^–…]^ûÁB š»áu#0ÉÂÊIl.\0 ‰0ßÓ#¬Œ„¶Þx¡á\"†Ö¯†úY\\äiI9lá Ä\"\0îl0°sâÖL=ÈÚ5 ©”CY`řÔ±bÈMnHÛ\næ)`p2‹ YlÑ @ ЊR³M^yŠ1#šò`AnJ‚Yà@\0z”X0ƒ*ÄrBiII˜vp_DY;¢Ý‡œ/`•)ž­ÀMrŒ,PßÂkNfh¶âBä/x8€xØò7@\01\0{$PÃËXµÊˆÒµ“EjÓBý       dˆË \0È¿B(á $!) G±j—„‡T;Ì=šå$<²@œVŸ12¢–ïù )…O֙uÐR<–@\01ÈsÁœ.‹È\ZÀj©£É \'x…õ;Ø’Ð`\0      !x¿[’KH)À!ŠÐ.  ю\n Úeá­D8ˆÁ\Zvò^ ÖÂc”‡uHa5\'ŽUÁ-/XY u¬&äÅÈ\Z\0ÄÀŒÒ|‡¶5eyQ»úðJ8ˆB¢“‹K\\\0§Hé\\2HˆsqÉ1À\"Š]M» ²vx&…ç >vXHҜ„wA>»\ZV±³B<ÃMW M,à(rC\n­Ò\0 €:Ñb“åçbácDîâBJ8p}-þ€Ÿ‚äqx8\0=/   “fa€$\n˜vI í +\'Á®\rG±ñ²\"ZüІ-/¬ c”gƒu=P†@œHx…Ü\0Eî5Èñó!7 ˆ\rÑr„u=`Mk~€òš(YQÂ8\ntšWEaá\0äq!ÉJÂã§vQHß>…/G:3R\Z— \nâEx š”xa±@JÄ8˜Cä:€\0bàE4%Ñ»žŒhõH”5$QÊ^šOØaõ‰Œ€8F›BFž/d`©5ÙíIx_æ0Ä +¬†Æ4,ã³Á&À=CšÃåàY†ÑS‡ ¯ \0ˆUQ¡ †€À­RHmÅ IÐaD\nIŒ#‡$4F9Á²’(²ˆ ‰];D—š<b°)•‚:•‚(C5Ðp€7™ù!IHrƒVt`ÏóBº(ÈWš¡Ð¶@\01È\"Æ|Àvòs³C¹ÜÆ /Žš†$>D8\0ý̀ÞJ„yÒ®–AÀ`W\"rˆä„S;b \0%­™ðóˆ,Ž›O­Ðf!Ø¥Œ°<À+ xq c°‚£ €PFe3€\'kžMƒô³ ŽaAÎ’Í`ÿ @󀪀¢Æ€4°h‡š@)³‘Æa@€RçÁkQy€±tA\Z&Œ0gó\"ÆgkXX€B €‡ d!ãN,à1nHÙ d²1!r rzÅl@Zœ¥LR’ vx8È\"†UáýaH…!oô@ûUŸtÀÖýä…%,~€¡hxJ€À@ rðÁYYØð¿¬ÔÃìÊ ÑùBIX&äÀœØÇí`ÍHp8Hb×Ôɉhúñó?Rú€ö÷a1Ã\nu&ldIÚJà“G.äåáC|03-€\0b@.‡`£‚¬Ð±/>9”i\0 \Z&äpÀô8cp‚;’XÃA^_`ÕFDmÁ›\\bG4ýA±ËË,ŒHKPaë…pC>ÐðBÄc…Ò@’•˜<@\01ÀG.ÁeŒKNfVDQ\rMLŒ    ÒÀ§ÌpDJžŽƒªD¯Qó \r–ñÁ:ŸÐp`‚ò\\Д2\\+\'‡f¯\"ï:\0ÄÀŸÞA“fƒZT§¢ŽaHJb÷t\0ûxR8àÔևyDéoÂG™ùÁ#oˆôÀ ËíLò¬CÒ- ŒÃ‰a·òp7@\01pÁ’=4¡Á͊’+`žxÓþp!”àá\0s!#J7înX™Æ‹Ò„F37R8 â\"&·àÅ%@\010A͆+ÂñbHShdŠ·G( øtrz\0g}h»Ÿ‘VØñB= Içü|§Bëø`,¶)9AÄx6?@\01p£‘ ¹&Ĝʀ0lˆ[_A)X°Ïw € ¬=‰K»€ \"\r\"»ŸQw²ÀÁæ%ˆ;¹à3uò°Á\Z°¬S“lð~¹,@\01€ç ©ÔÀâFšH…ux ñÃM( >§ Ör’`z@ª/PÛñp€Ä°ÀkØ4?ʔš RÙ*\'‹1í‡2â   ¶       €À%Rj€\'*F9äñ) ÞÁéHûA”[÷%$ñi‡÷6QÒ3¢õ˚乐\n1ĝŒ£Œ+`\"@\01€*GDj€,Æ|.>ªÏ‡\ZX\ZB q\\ùB9_àÐl_!    ‘Ýυð*#lš–øó• 0\"AsÖ9ØL\0°”  [X24m  BçȑK\0™Hsˆ f³€ #¶úÔsƕ$‘óVí@ìòp÷¡ŒÛ#ÍØsóÂ\"êAnøä-Hr—…† úŒ3+ŒQ @Àp`Fd\nXmËÎ =B\ZŠ‚vcËô(ƁâLòD•XµË€ŽÃ\"RŸdEL<óËça\nøaMJèÐŒD„( š:Å͐•ã $kŠýÅXºè²hãHã0¢˜­IPz\'”/pkgø8  <ž zÀ=DøX##b Œ$†Z²Ê‚“€•ÄÆÇ\n n1€Q8Vf€\0b€R;Ô©“…;V–°2Ë£§èð2ŒcÍ\0k6jOJBÆ2qiGL­q×Ëq±#zþâZœBA*ËDPÂìU6H%‰² Fiø €Œ2«ƒ>…2Àˆìð(œ$xtW;J90ŽKÂgàÀHC0Hë6å™áž`DY+\0Iðc†EòÊóÊ!8bŒÌ`g– غ YÄšR! _u ‡:ùŸ{ÏAF€áƒP8ëMI”|ª8œòÐp•EžbD\Z2ãƒu»Q\ZH\\ð.ԅVЕArÈËk36Ð5.\0Ä Ôr@n, \n˜‡6ö‘€šgâäd‡ŒÑB <íjIx8H@*Yžv„äî>ÊÈ({òÁ\Z7°áI€É]Øä|ÂÞc„—sðp˜‡Aê^>°Ã{×H\rÞ,Ehؑy²\n Øñ¬#Ei?H\"ŽÃôƒ«\\Ä\Z0Y€%Zð&5¿ <bˆ,¢ãiZƒ•3£, €vÏYäPÖC\"†d!ó!\0¯/˜y‘—#\"§9ØX&Fz\0OJ@ Ä/°dާœ”„Ë     ÈCc¢eœ ÒÂ5`?\ny®¹ ÎÛ5è ïÀӔ,°pE ÀÉ!- €6+Ry ‹ŒŽŒ sI$BååEQŠ(ÙEñ®A­7%QŽK\"k‡\'”Å?üˆ– |Äy12𡆎š“gfâGY:«fƒu˜\0¹mË,&+‹R.ÉB³–&)¢!*.‰PQŽèûXàË`á\0ÑÔEÖÎÇò?̵ŒŒ\\,L(®`dü køPÔ1óg!+/òòq€\0b@[^͊-HŠߘµŸ…Ÿž…  P;E€sŸŒ<@\0aôuÙxáå#»3Q!àêo\0 œ!Æ(H|„’’2ƒ+\0ˆì¥0= ²p\0 \n\"Tr…@\0Š\0 Ñp€\0€\0\Z\r\0 rÃAr˜…@\0Q’†S9 @ä§IÉá”\0hŽ|€\0€\0\"7À=&²­¥P;õ@\0î÷‡\0€\0\Z\r\0 Ñp€\0€\0\">˜ÙØØšw 3›4h›0ÐLÐ\\$”¢àšFêÆ[€\0\">ž¥€¥©çXi `–—’’’ò€4õ\rh47‰z\0h ÂM\nìX \n\0`hHËSÓl)Rà €*x€ \0P8€ÇÀŠ€\0\"%€š 1/p\0@ò$YP-€H€\0\\œÍ\nÀ €ç“È›àAßÿ=çO«±[jš‰}‡ Ž¢T5\nĈǘW³äz\06Å|\\ìý Y‡ëD5p3•ÌÛ)cxç|¯wƒ°)N\Z†gR·çépe`b4ö?1i¬Q,4\ZªòYʗ¬ÉÄÈŽ£ñ¿ ø^™Ô^hA$V/ó#\0ÕÖ²0ÃÇÊÀ›°C{Øÿÿ嚀²)(ŽZè+ñTäÁASž¬Õ\r…ÉÍæ†n¥>Ÿ<ŒÒál|t§dʊé6~sЩ1YÒÂ5PvÂÔk©\Zœj?#£>—< ç§U+ ” ǎ‹Žò Ž©ñ;–§á~ý\nÀD# ‚°Ö¡wҁÿÿ²1ÁցA„’Ó£^\'üe€–0zEd˜Xˆ\rœ?EÏ\'xxa`¢AJMɛÅMh,iªÁ{.S¹þކ4H•vÃβî…]‡Ç#Ÿ?8Š!\"Æ“¡^Ø¥\"ª„®_˜*—€aˆV )Ew.â\"÷¿e1…ló‘ñ9êµÙvUÆÌ¢j¯Œ…Ɉ=ø;À„•˜ÜåÃç!–ž Ž4TŒcš ó¶”ôu5H&5™‡æhÊøéÉ.ý`u‰ÿuï³xÇÞ0Ü\rx\ZnǜÌ},Rhö } ͎\0ÁÙ|\\Cè\'\0“V0Â21ó°àÁÿÿrÐâÉ\rÒÒÊù\"åhlé|:ò}$g:9¿ÇŒŽ»ÀÃh?Á˜‰ù£!á.*ê\ra¥®­~ËÔ·Yp2Õþ˜e“$xÐËÚÚݓ?“@É .ÌD“6¯c‡î~ž¬‚€a¶@a v+ì ÿÿçŒÖêv-(&&±G]-ˆ6Ÿ‚‚Ô+ÄäØ>„»ýÔÒc‹ŽÍ2ɛþ>áÊVóãx€]Œá­ÉçœC‚L›?z_\\?l<«qp        ÙÀJ Çp¯\0\\V1À +S‡ºõ®ƒüÿŸ Äë‚\'Iâ%ó2¯éñLYƒ»Ð‚bZ7œ\'ý~‚Ù¡\\h‡h“{¶>ÁšúÁ©_7nkPð^aÜK×+ÒJ~a\\ÊD\0͚6•Ð%\0•åŽ0ÃÐÒ¡[6îËÊv~dE€ó ‰Ÿ“lAÕŸˆEdzjŽê¡þPè¿ËŸîìgD˜àŒ\"méFÜ8‡î±ÉŒ ËiImpñ>I€    %:™š&\"ë\r£|™ž,c\0@†8ž0óÿ§*p6*-m¡ñàÀl`ʅèŽd»vE–ɺÂ­„ÿ·Sà–ÍÈ€æôE~]͚› yL+y9>ƒ#dî<-™E“Z7=Ù/•VÀ…‘ÛŽ±ß€l+H„at‹àzèÿ¹µi&cg±Ä’&‘:IÆIåaR’\nƒ“ÉÉëüëwÁ/äèŸ7^Ÿwru[T˜Òy¿è<YªwvÙQÅ6œy–cüúj›s8zþ­ÓÐҀǢöhõx–ož®‚€A—/»™p€ƒÿÿåŽÝôFL\Z”–Ï<TËž¡Uñ­’@šŸ… lÐiÂÎòà{`DÚë)×ôD·K÷ÿ}q\\—3É쪵–òÌzVÙúÉ   C«F÷ÄX{$êšÐ_È.c€B†FŒAþýoùÅÖªq–\0Ò>Î>|\"®ó$íûÎÂi[      J]ÌIy†Yìڏ$œƒüE4\"ûë\'^¿Èƒ,¢“ÏÐ7ûFMO‚Þ“™ÀF6Ë͆ÄxþJïÖve‚9] ïœÐú\rZî€òº˜,@‚vú\Z\'ŽædBwªf„†9,_ §”³Œ–\0Û66ĉJp«QøË#ç.P[Éa`‡J³³À:uŒ„H ºÚR\0\0Ac_Qwèþ·ÌW5ûJsn \nsŠ­÷6X”Á[Unè5›-†\\é!ÿËâž DõU@QRŽ‹ÁÃ>˜ðý.« ã]r|ž~7Z®\0Àn×R€J`o–™3­‚\0@\0á ©P\rÇD=àÝ?ä> \0Ð`N°\'u\0¬Ï-…Ü€€\0Â(­UºH•B=óÄ u ¶±*€\0\ZYóÜšå0\0 Ñy\0 Ñp€\0€\0\Z\r\00\0tP|O;ë\0\0\0\0IEND®B`‚','image/png',2,'2005-11-21 15:15:49',2,20051121160025,90); 
     1INSERT INTO files VALUES (1,'logo.png','Company Logo Used in PDF reports','‰PNG\r\n\Z\n\0\0\0\rIHDR\0\0\0\0\0]\0\0\0ŸS°\0\0\0gAMA\0\0¯È7Šé\0\0\0tEXtSoftware\0Adobe ImageReadyqÉe<\0\0\0`PLTE666ÑÑѶ¶¶óó󪪪kkk   rrrœœœÅÅŎŽŽèèèÛÛۄ„„¿¿¿|||XXXÞÞÞðððˆˆˆÉÉÉââ╕•€€€KKK&&&QQQPPP%%%bbbcccÿÿÿV\"l\0\0\0ØIDATxÚb \0@ £A\0\0D£påΡ\0D£pà”®¡\04ˆÃA‘‘‘‰ ˜±I#€<^inT)&1^v99YYv^.f°@\0a†ƒ /¿¬X#%á I~8°\0] +t*‚#ËÏ&‚¬†WVVN®‚ÝV~šŽ¬Bœ›\" \n0àgj Žp\0«’“…™!Ë*&B^8HR” »ìYš‹XYþåE\n\'9Y>4Dà¡\0bð„™ÅPtA[–•Y €P‘ŠQJ;ýó4`±ˆ³XEéæUkÑ­b“Eòƒ,,DXáA %‡]^ €Â› Y…48@و‘Þá\0  \0H’”ƒš,óCÓ $ݰ¢™ÀÓ–‡†ŸÜHx~qØäå|¬²ð —…¹\ZlÌdä IJ҃¬R”ÈÂD@šT`*QãJáO€„Ÿ,<¡#ùÈŠ1€\0‚‡ƒ,úå`@óØ-üÌ‘/d‘\0–: Ά©‘ƒû‰\r-[ •0@\Z6¬pŸÁÊHšwž D0È\"r%\"`)“UÄp€(_ Õðr  b\rV–\".;z¶@$) ZÁÀJGx      , +=\0ˆ ²rˆBZžÜ \ZA9†Ž€ 8`Y‚     ìgfF6V9xE**¹¹a>%ä67<aCT       r\Z°\"e5+XØÀ•P € á &+‹€Mžq <.™Žá\0/Äàٞ™Q€sÁœ…T±0!ég’E*¡ùB QÞq!ŒÂÌÇ% Ša€\0‡“rÙ Ër°àc‘g;‹—ÞåÈáˆâ™]–øAá\0ËéŒPQdË a&Ç Ï@CµcÖ±à„@ àÂQÙ\"אРÐ%,lÅB×ô\0IŒ(‘ +%Àá\0M\nl²ÐÒ%[€œÃ¯#å™á9][ xË ‘ìd…$       ‰AÌcåÆépFNNQ<é(-„ÏßèÚáõr80Âê\0p2çƒú^–…]^ûÁB š»áu#0ÉÂÊIl.\0 ‰0ßÓ#¬Œ„¶Þx¡á\"†Ö¯†úY\\äiI9lá Ä\"\0îl0°sâÖL=ÈÚ5 ©”CY`řÔ±bÈMnHÛ\næ)`p2‹ YlÑ @ ЊR³M^yŠ1#šò`AnJ‚Yà@\0z”X0ƒ*ÄrBiII˜vp_DY;¢Ý‡œ/`•)ž­ÀMrŒ,PßÂkNfh¶âBä/x8€xØò7@\01\0{$PÃËXµÊˆÒµ“EjÓBý       dˆË \0È¿B(á $!) G±j—„‡T;Ì=šå$<²@œVŸ12¢–ïù )…O֙uÐR<–@\01ÈsÁœ.‹È\ZÀj©£É \'x…õ;Ø’Ð`\0      !x¿[’KH)À!ŠÐ.  ю\n Úeá­D8ˆÁ\Zvò^ ÖÂc”‡uHa5\'ŽUÁ-/XY u¬&äÅÈ\Z\0ÄÀŒÒ|‡¶5eyQ»úðJ8ˆB¢“‹K\\\0§Hé\\2HˆsqÉ1À\"Š]M» ²vx&…ç >vXHҜ„wA>»\ZV±³B<ÃMW M,à(rC\n­Ò\0 €:Ñb“åçbácDîâBJ8p}-þ€Ÿ‚äqx8\0=/   “fa€$\n˜vI í +\'Á®\rG±ñ²\"ZüІ-/¬ c”gƒu=P†@œHx…Ü\0Eî5Èñó!7 ˆ\rÑr„u=`Mk~€òš(YQÂ8\ntšWEaá\0äq!ÉJÂã§vQHß>…/G:3R\Z— \nâEx š”xa±@JÄ8˜Cä:€\0bàE4%Ñ»žŒhõH”5$QÊ^šOØaõ‰Œ€8F›BFž/d`©5ÙíIx_æ0Ä +¬†Æ4,ã³Á&À=CšÃåàY†ÑS‡ ¯ \0ˆUQ¡ †€À­RHmÅ IÐaD\nIŒ#‡$4F9Á²’(²ˆ ‰];D—š<b°)•‚:•‚(C5Ðp€7™ù!IHrƒVt`ÏóBº(ÈWš¡Ð¶@\01È\"Æ|Àvòs³C¹ÜÆ /Žš†$>D8\0ý̀ÞJ„yÒ®–AÀ`W\"rˆä„S;b \0%­™ðóˆ,Ž›O­Ðf!Ø¥Œ°<À+ xq c°‚£ €PFe3€\'kžMƒô³ ŽaAÎ’Í`ÿ @󀪀¢Æ€4°h‡š@)³‘Æa@€RçÁkQy€±tA\Z&Œ0gó\"ÆgkXX€B €‡ d!ãN,à1nHÙ d²1!r rzÅl@Zœ¥LR’ vx8È\"†UáýaH…!oô@ûUŸtÀÖýä…%,~€¡hxJ€À@ rðÁYYØð¿¬ÔÃìÊ ÑùBIX&äÀœØÇí`ÍHp8Hb×Ôɉhúñó?Rú€ö÷a1Ã\nu&ldIÚJà“G.äåáC|03-€\0b@.‡`£‚¬Ð±/>9”i\0 \Z&äpÀô8cp‚;’XÃA^_`ÕFDmÁ›\\bG4ýA±ËË,ŒHKPaë…pC>ÐðBÄc…Ò@’•˜<@\01ÀG.ÁeŒKNfVDQ\rMLŒ    ÒÀ§ÌpDJžŽƒªD¯Qó \r–ñÁ:ŸÐp`‚ò\\Д2\\+\'‡f¯\"ï:\0ÄÀŸÞA“fƒZT§¢ŽaHJb÷t\0ûxR8àÔևyDéoÂG™ùÁ#oˆôÀ ËíLò¬CÒ- ŒÃ‰a·òp7@\01pÁ’=4¡Á͊’+`žxÓþp!”àá\0s!#J7înX™Æ‹Ò„F37R8 â\"&·àÅ%@\010A͆+ÂñbHShdŠ·G( øtrz\0g}h»Ÿ‘VØñB= Içü|§Bëø`,¶)9AÄx6?@\01p£‘ ¹&Ĝʀ0lˆ[_A)X°Ïw € ¬=‰K»€ \"\r\"»ŸQw²ÀÁæ%ˆ;¹à3uò°Á\Z°¬S“lð~¹,@\01€ç ©ÔÀâFšH…ux ñÃM( >§ Ör’`z@ª/PÛñp€Ä°ÀkØ4?ʔš RÙ*\'‹1í‡2â   ¶       €À%Rj€\'*F9äñ) ÞÁéHûA”[÷%$ñi‡÷6QÒ3¢õ˚乐\n1ĝŒ£Œ+`\"@\01€*GDj€,Æ|.>ªÏ‡\ZX\ZB q\\ùB9_àÐl_!    ‘Ýυð*#lš–øó• 0\"AsÖ9ØL\0°”  [X24m  BçȑK\0™Hsˆ f³€ #¶úÔsƕ$‘óVí@ìòp÷¡ŒÛ#ÍØsóÂ\"êAnøä-Hr—…† úŒ3+ŒQ @Àp`Fd\nXmËÎ =B\ZŠ‚vcËô(ƁâLòD•XµË€ŽÃ\"RŸdEL<óËça\nøaMJèÐŒD„( š:Å͐•ã $kŠýÅXºè²hãHã0¢˜­IPz\'”/pkgø8  <ž zÀ=DøX##b Œ$†Z²Ê‚“€•ÄÆÇ\n n1€Q8Vf€\0b€R;Ô©“…;V–°2Ë£§èð2ŒcÍ\0k6jOJBÆ2qiGL­q×Ëq±#zþâZœBA*ËDPÂìU6H%‰² Fiø €Œ2«ƒ>…2Àˆìð(œ$xtW;J90ŽKÂgàÀHC0Hë6å™áž`DY+\0Iðc†EòÊóÊ!8bŒÌ`g– غ YÄšR! _u ‡:ùŸ{ÏAF€áƒP8ëMI”|ª8œòÐp•EžbD\Z2ãƒu»Q\ZH\\ð.ԅVЕArÈËk36Ð5.\0Ä Ôr@n, \n˜‡6ö‘€šgâäd‡ŒÑB <íjIx8H@*Yžv„äî>ÊÈ({òÁ\Z7°áI€É]Øä|ÂÞc„—sðp˜‡Aê^>°Ã{×H\rÞ,Ehؑy²\n Øñ¬#Ei?H\"ŽÃôƒ«\\Ä\Z0Y€%Zð&5¿ <bˆ,¢ãiZƒ•3£, €vÏYäPÖC\"†d!ó!\0¯/˜y‘—#\"§9ØX&Fz\0OJ@ Ä/°dާœ”„Ë     ÈCc¢eœ ÒÂ5`?\ny®¹ ÎÛ5è ïÀӔ,°pE ÀÉ!- €6+Ry ‹ŒŽŒ sI$BååEQŠ(ÙEñ®A­7%QŽK\"k‡\'”Å?üˆ– |Äy12𡆎š“gfâGY:«fƒu˜\0¹mË,&+‹R.ÉB³–&)¢!*.‰PQŽèûXàË`á\0ÑÔEÖÎÇò?̵ŒŒ\\,L(®`dü køPÔ1óg!+/òòq€\0b@[^͊-HŠߘµŸ…Ÿž…  P;E€sŸŒ<@\0aôuÙxáå#»3Q!àêo\0 œ!Æ(H|„’’2ƒ+\0ˆì¥0= ²p\0 \n\"Tr…@\0Š\0 Ñp€\0€\0\Z\r\0 rÃAr˜…@\0Q’†S9 @ä§IÉá”\0hŽ|€\0€\0\"7À=&²­¥P;õ@\0î÷‡\0€\0\Z\r\0 Ñp€\0€\0\">˜ÙØØšw 3›4h›0ÐLÐ\\$”¢àšFêÆ[€\0\">ž¥€¥©çXi `–—’’’ò€4õ\rh47‰z\0h ÂM\nìX \n\0`hHËSÓl)Rà €*x€ \0P8€ÇÀŠ€\0\"%€š 1/p\0@ò$YP-€H€\0\\œÍ\nÀ €ç“È›àAßÿ=çO«±[jš‰}‡ Ž¢T5\nĈǘW³äz\06Å|\\ìý Y‡ëD5p3•ÌÛ)cxç|¯wƒ°)N\Z†gR·çépe`b4ö?1i¬Q,4\ZªòYʗ¬ÉÄÈŽ£ñ¿ ø^™Ô^hA$V/ó#\0ÕÖ²0ÃÇÊÀ›°C{Øÿÿ嚀²)(ŽZè+ñTäÁASž¬Õ\r…ÉÍæ†n¥>Ÿ<ŒÒál|t§dʊé6~sЩ1YÒÂ5PvÂÔk©\Zœj?#£>—< ç§U+ ” ǎ‹Žò Ž©ñ;–§á~ý\nÀD# ‚°Ö¡wҁÿÿ²1ÁցA„’Ó£^\'üe€–0zEd˜Xˆ\rœ?EÏ\'xxa`¢AJMɛÅMh,iªÁ{.S¹þކ4H•vÃβî…]‡Ç#Ÿ?8Š!\"Æ“¡^Ø¥\"ª„®_˜*—€aˆV )Ew.â\"÷¿e1…ló‘ñ9êµÙvUÆÌ¢j¯Œ…Ɉ=ø;À„•˜ÜåÃç!–ž Ž4TŒcš ó¶”ôu5H&5™‡æhÊøéÉ.ý`u‰ÿuï³xÇÞ0Ü\rx\ZnǜÌ},Rhö } ͎\0ÁÙ|\\Cè\'\0“V0Â21ó°àÁÿÿrÐâÉ\rÒÒÊù\"åhlé|:ò}$g:9¿ÇŒŽ»ÀÃh?Á˜‰ù£!á.*ê\ra¥®­~ËÔ·Yp2Õþ˜e“$xÐËÚÚݓ?“@É .ÌD“6¯c‡î~ž¬‚€a¶@a v+ì ÿÿçŒÖêv-(&&±G]-ˆ6Ÿ‚‚Ô+ÄäØ>„»ýÔÒc‹ŽÍ2ɛþ>áÊVóãx€]Œá­ÉçœC‚L›?z_\\?l<«qp        ÙÀJ Çp¯\0\\V1À +S‡ºõ®ƒüÿŸ Äë‚\'Iâ%ó2¯éñLYƒ»Ð‚bZ7œ\'ý~‚Ù¡\\h‡h“{¶>ÁšúÁ©_7nkPð^aÜK×+ÒJ~a\\ÊD\0͚6•Ð%\0•åŽ0ÃÐÒ¡[6îËÊv~dE€ó ‰Ÿ“lAÕŸˆEdzjŽê¡þPè¿ËŸîìgD˜àŒ\"méFÜ8‡î±ÉŒ ËiImpñ>I€    %:™š&\"ë\r£|™ž,c\0@†8ž0óÿ§*p6*-m¡ñàÀl`ʅèŽd»vE–ɺÂ­„ÿ·Sà–ÍÈ€æôE~]͚› yL+y9>ƒ#dî<-™E“Z7=Ù/•VÀ…‘ÛŽ±ß€l+H„at‹àzèÿ¹µi&cg±Ä’&‘:IÆIåaR’\nƒ“ÉÉëüëwÁ/äèŸ7^Ÿwru[T˜Òy¿è<YªwvÙQÅ6œy–cüúj›s8zþ­ÓÐҀǢöhõx–ož®‚€A—/»™p€ƒÿÿåŽÝôFL\Z”–Ï<TËž¡Uñ­’@šŸ… lÐiÂÎòà{`DÚë)×ôD·K÷ÿ}q\\—3É쪵–òÌzVÙúÉ   C«F÷ÄX{$êšÐ_È.c€B†FŒAþýoùÅÖªq–\0Ò>Î>|\"®ó$íûÎÂi[      J]ÌIy†Yìڏ$œƒüE4\"ûë\'^¿Èƒ,¢“ÏÐ7ûFMO‚Þ“™ÀF6Ë͆ÄxþJïÖve‚9] ïœÐú\rZî€òº˜,@‚vú\Z\'ŽædBwªf„†9,_ §”³Œ–\0Û66ĉJp«QøË#ç.P[Éa`‡J³³À:uŒ„H ºÚR\0\0Ac_Qwèþ·ÌW5ûJsn \nsŠ­÷6X”Á[Unè5›-†\\é!ÿËâž DõU@QRŽ‹ÁÃ>˜ðý.« ã]r|ž~7Z®\0Àn×R€J`o–™3­‚\0@\0á ©P\rÇD=àÝ?ä> \0Ð`N°\'u\0¬Ï-…Ü€€\0Â(­UºH•B=óÄ u ¶±*€\0\ZYóÜšå0\0 Ñy\0 Ñp€\0€\0\Z\r\00\0tP|O;ë\0\0\0\0IEND®B`‚','image/png',2,NOW(),2,NOW(),90); 
  • trunk/install/updatev0.61.sql

    r60 r62  
    55 
    66ALTER TABLE tabledefs CHANGE defaultwhereclause defaultwhereclause varchar(255); 
    7 ALTER TABLE tabledefs CHANGE `id`  `id` int(11) NOT NULL auto_increment default '1000'; 
     7ALTER TABLE tabledefs CHANGE `id` `id` int(11) NOT NULL auto_increment default '1000'; 
     8 
     9ALTER TABLE tablecolumns CHANGE `format` `format` enum('date','time','currency','boolean','datetime','filelink') default NULL, 
    810 
    911UPDATE tabledefs SET defaultwhereclause="notes.type='EV' AND notes.createdby = {{$_SESSION['userinfo']['id']}} AND ((notes.startdate = year(notes.startdate)=year(curdate()) and week(notes.startdate)=week(curdate())) OR notes.`repeat`=1)" WHERE id=24; 
     
    1517CREATE TABLE `settings` (`id` int(11) NOT NULL auto_increment, `name` varchar(64) NOT NULL default '',`value` varchar(255) default '', PRIMARY KEY  (`id`)) TYPE=MyISAM;  
    1618 
    17 CREATE TABLE `files` (`id` int(11) NOT NULL auto_increment,`name` varchar(128) NOT NULL default '',`accesslevel` int(11) NOT NULL default '0',`servename` varchar(64) NOT NULL default '',`file` longblob,`type` varchar(100) default '',`createdby` int(11) default '0',`creationdate` datetime default '0000-00-00 00:00:00',`modifiedby` int(11) default '0',`modifieddate` timestamp(14) NOT NULL,PRIMARY KEY  (`id`)) TYPE=MyISAM;  
     19CREATE TABLE `files` (`id` int(11) NOT NULL auto_increment,`name` varchar(128) NOT NULL default '',`description` text,`file` longblob,`type` varchar(100) default '',`createdby` int(11) default '0',`creationdate` datetime default '0000-00-00 00:00:00',`modifiedby` int(11) default '0',`modifieddate` timestamp(14) NOT NULL,`accesslevel` int(11) NOT NULL default '0',PRIMARY KEY  (`id`)) TYPE=MyISAM;  
    1820 
    1921CREATE TABLE `filetorecord` (`id` int(11) NOT NULL auto_increment,`fileid` int(11) NOT NULL default '0',`tabledefid` int(11) NOT NULL default '0',`recordid` int(11) NOT NULL default '0',`createdby` int(11) default '0',`creationdate` datetime default '0000-00-00 00:00:00',`modifiedby` int(11) default '0',`modifieddate` timestamp(14) NOT NULL,PRIMARY KEY  (`id`),KEY `therecord` (`recordid`),KEY `thetable` (`tabledefid`),KEY `thefile` (`fileid`)) TYPE=MyISAM; 
  • trunk/modules/base/adminsettings.php

    r57 r62  
    7777                        <?PHP field_text("sapplication_name",$_SESSION["application_name"],1,"Application name cannot be blank.","",Array("size"=>"32","maxlength"=>"128")); ?>                          
    7878                </label> 
    79                 <div class="small"> 
    80                         <em>Replace this with your comapny name + BMS (e.g. "Kreotek BMS")</em> 
     79                <div class="notes"> 
     80                        <strong>Example:</strong> Replace this with your comapny name + BMS (e.g. "Kreotek BMS") 
    8181                </div> 
    8282                <label for="sencryption_seed"> 
     
    8484                        <?PHP field_text("sencryption_seed",$_SESSION["encryption_seed"],1,"Application name cannot be blank.","",Array("size"=>"32","maxlength"=>"128")); ?>                            
    8585                </label> 
    86                 <div class="small important"> 
    87                         <em>Changing the encryption seed will void all current passwords. They will need to be reset immediately before logging out.</em> 
     86                <div class="notes"> 
     87                        <strong>Note:</strong> 
     88                        Changing the encryption seed will void all current passwords. They will need to be reset immediately before logging out. 
    8889                </div> 
    8990                <label for="srecord_limit"> 
     
    9798        </fieldset> 
    9899                 
    99         <fieldset> 
    100                 <legend>My<span style="text-transform:capitalize;">SQL</span></legend> 
    101                 <div class="small important"> 
    102                         <em>MysSQL settings must be updated manually by editing the settings.php file</em> 
    103                 </div> 
    104                 <label for="smysql_server"> 
    105                         server name<br /> 
    106                         <input size="32" maxlength="128" value="<?php echo htmlQuotes($_SESSION["mysql_server"])?>" readonly class="uneditable"/> 
    107                 </label> 
    108                 <label for="smysql_database"> 
    109                         database name<br /> 
    110                         <input size="32" maxlength="128" value="<?php echo htmlQuotes($_SESSION["mysql_database"])?>" readonly class="uneditable"/> 
    111                 </label> 
    112                 <label for="smysql_user"> 
    113                         mysql username<br /> 
    114                         <input size="32" maxlength="128" value="<?php echo htmlQuotes($_SESSION["mysql_user"])?>" readonly class="uneditable"/> 
    115                 </label> 
    116                 <label for="smysql_userpass"> 
    117                         mysql user password<br /> 
    118                         <input size="32" maxlength="128" value="<?php echo htmlQuotes($_SESSION["mysql_userpass"])?>" readonly class="uneditable"/> 
    119                 </label> 
    120         </fieldset> 
    121  
    122100        <fieldset> 
    123101                <legend>company</legend> 
     
    150128                        <input id="printedlogo" name="printedlogo" type="file" size="40" accept="image/x-png" /> 
    151129                </label> 
    152                 <div class="small important"> 
    153                         This graphic is used on some reports.  On PDF reports, it prints in a mximum of 1.75" x 1.75". PNG format. 
     130                <div class="notes"> 
     131                        <strong>Note:</strong> This graphic is used on some reports.  On PDF reports, it prints in a mximum of 1.75" x 1.75". PNG format. 
     132                        PNG must be gray scale on at most 8 bits (256 levels), indexed color, or true color (24 bits). PNG cannot  
     133                        contain an alpha channel, or interlacing. 
    154134                </div> 
    155135                <label for="sstylesheet"> 
  • trunk/modules/base/files_addedit.php

    r60 r62  
    4040        include("../../include/fields.php"); 
    4141 
    42         include("include/files_addedit_include.php"); 
    43  
    44         $pageTitle="File"; 
     42        if(!isset($_GET["backurl"])){ 
     43                include("include/files_addedit_include.php"); 
     44                $pageTitle="File"; 
     45        } else { 
     46                include("include/attachments_addedit_include.php"); 
     47                $pageTitle="File Attachment"; 
     48        } 
     49         
     50        function getAttachments($id){ 
     51                global $dblink; 
     52                $querystatement="SELECT tabledefs.displayname, attachments.recordid, attachments.creationdate, tabledefs.editfile 
     53                                                FROM attachments INNER JOIN tabledefs ON attachments.tabledefid=tabledefs.id  
     54                                                WHERE fileid=".$id; 
     55                $queryresult=mysql_query($querystatement,$dblink); 
     56                if(!$queryresult) reportError(300,"Error Retrieving Attachments: ".mysql_error($dblink)." -- ".$querystatement); 
     57                return $queryresult; 
     58        } 
    4559 
    4660?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
     
    5064<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    5165<link href="<?php echo $_SESSION["app_path"] ?>common/stylesheet/<?php echo $_SESSION["stylesheet"] ?>/base.css" rel="stylesheet" type="text/css"> 
    52  
     66<script language="JavaScript" src="../../common/javascript/common.js"></script> 
    5367<script language="JavaScript" src="../../common/javascript/fields.js"></script> 
     68<script language="JavaScript" src="../../common/javascript/autofill.js"></script> 
     69<script language="JavaScript" src="../base/javascript/file.js"></script> 
    5470</head> 
    5571<body><?php include("../../menu.php")?> 
     
    7187                        <input id="id" name="id" type="text" value="<?php echo $therecord["id"]; ?>" size="5" maxlength="5" readonly="true" class="uneditable" style="width:99%" /> 
    7288                </label> 
    73                 <label for="accesslevel"
     89                <label for="accesslevel" id="accesslevellabel"
    7490                        minimum access level<br /> 
    7591                        <?php  
     
    92108        </fieldset> 
    93109        <fieldset> 
    94                 <legend>names</legend> 
    95                 <label for="name" class="important"> 
    96                         name<br /> 
    97                         <?PHP field_text("name",$therecord["name"],1,"Name cannot be blank.","",Array("size"=>"32","maxlength"=>"64","style"=>"width:98%","class"=>"important","tabindex"=>"5")); ?> 
     110                <legend>file</legend> 
     111                <?php if(isset($_GET["tabledefid"])){?> 
     112                        <input id="attachmentid" name="attachmentid" type="hidden" value="<?php echo $therecord["attachmentid"]?>"> 
     113                        <input id="tabledefid" name="tabledefid" type="hidden" value="<?php echo (integer) $_GET["tabledefid"]?>"> 
     114                        <input id="recordid" name="recordid" type="hidden" value="<?php echo (integer) $_GET["refid"]?>"> 
     115                <?php }?> 
     116                 
     117                <?php if($therecord["id"]) {?> 
     118                        <button  type="button" class="Buttons" onClick="document.location='../../servefile.php?i=<?php echo $therecord["id"]?>'">View/Download <?php echo $therecord["name"] ?></button> 
     119                        <label for="name" class="important"> 
     120                                name<br /> 
     121                                <?PHP field_text("name",$therecord["name"],1,"Name cannot be blank.","",Array("size"=>"64","maxlength"=>"128","style"=>"","class"=>"important","tabindex"=>"5")); ?> 
     122                        </label> 
     123                        <div class="small"><em>If the file name does <strong>not</strong> include an extension your browser may not be able to download/view the file correctly.</em></div> 
     124                        <label for="type"> 
     125                                type <em>(MIME)</em><br /> 
     126                                <input type="text" id="type" name="type" value="<?php echo htmlQuotes($therecord["type"])?>" size="64" maxlength="100" readonly="true" class="uneditable" style="" /> 
     127                        </label> 
     128                        <label for="upload"> 
     129                                replace file<br /> 
     130                                <input id="upload" name="upload" type="file" size="64" tabindex="260" />                         
     131                        </label> 
     132                <?php } else {?> 
     133                        <?php if(isset($_GET["tabledefid"])){?> 
     134                                <div> 
     135                                        <label for="newfile" style="display:inline"><input class="radiochecks" type="radio" name="newexisting" id="newfile" value="new" checked onClick="switchFile()"> new file</label> 
     136                                        <label for="existingfile" style="display:inline"><input type="radio"  class="radiochecks" name="newexisting" id="existingfile" value="existing" onClick="switchFile()"> existing file</label> 
     137                                </div> 
     138                                <label for="fileid-ds" id="fileidlabel" style="display:none;"> 
     139                                        existing file<br /> 
     140                                        <?PHP autofill("fileid","",26,"files.id","files.name","if(length(files.description)>20,concat(left(files.description,17),\"...\"),files.description)","files.id!=1 AND files.accesslevel<=".$_SESSION["userinfo"]["accesslevel"],Array("size"=>"40","maxlength"=>"128","style"=>"",false)) ?>                                    
     141                                </label> 
     142                                <label for="upload" id="uploadlabel" style="display:block;"> 
     143                                        upload new file<br /> 
     144                                        <input id="upload" name="upload" type="file" size="64" tabindex="260" />                         
     145                                </label> 
     146                        <?php } else {?> 
     147                                <label for="upload"> 
     148                                        upload file<br /> 
     149                                        <input id="upload" name="upload" type="file" size="64" tabindex="260" />                         
     150                                </label> 
     151                        <?php } ?> 
     152                <?php } ?> 
     153                <label for="servename" id="descriptionlabel"> 
     154                        description<br /> 
     155                        <textarea name="description" cols="45" rows="4" id="content" style="width:98%"><?PHP echo $therecord["description"]?></textarea> 
    98156                </label> 
    99                 <label for="servename" class="important"> 
    100                         serve name<br /> 
    101                         <?PHP field_text("servename",$therecord["servename"],1,"Serve name cannot be blank.","",Array("size"=>"40","maxlength"=>"64","style"=>"","class"=>"important","tabindex"=>"5")); ?> 
    102                 </label> 
    103                 <div class="small" style="padding-top:6px;padding-bottom:6px;"><em> 
    104                         Serve name is the file name, including extension that will be used when the file is sent through the web server to the client.   
    105                         If the extension does not match the type (mime file type) the client browser may misinterpret the file. 
    106                 </em></div> 
    107157        </fieldset> 
    108         <fieldset style="clear:both"> 
    109                 <legend>file</legend> 
    110                 <?php if(!$therecord["nofile"]){?> 
    111                 <label for="type"> 
    112                         type <em>(MIME)</em><br /> 
    113                         <input type="text" id="type" name="type" value="<?php echo htmlQuotes($therecord["type"])?>" size="40" maxlength="100" readonly="true" class="uneditable" style="" /> 
    114                 </label> 
    115                 <div><button type="button" class="Buttons" onClick="document.location='../../servefile.php?i=<?php echo $therecord["id"]?>'">view file</button></div> 
    116                 <?php } ?> 
    117                 <label for="upload"> 
    118                         <?php if(!$therecord["nofile"]) echo "change file"; else echo "upload file"?><br /> 
    119                         <input id="upload" name="upload" type="file" size="40" tabindex="260" /> 
    120                 </label> 
    121                  
    122         </fieldset> 
     158        <?php  
     159        if($therecord["id"]) { 
     160                $attchmentsquery=getAttachments($therecord["id"]); 
     161                if(mysql_num_rows($attchmentsquery)){ 
     162                ?> 
     163                <fieldset style="margin-right:185px;"> 
     164                        <legend>attachments</legend> 
     165                <div style="" class="smallQueryTableHolder"> 
     166                <table border="0" cellpadding="0" cellspacing="0" class="smallQueryTable"> 
     167                        <tr> 
     168                                <th align="left">table</th> 
     169                                <th align="left" nowrap>ID</th> 
     170                                <th align="right" width="99%">attached</th> 
     171                                <th align="left" nowrap>&nbsp;</th> 
     172                        </tr> 
     173                <?php 
     174                        while($attachmentrecord=mysql_fetch_array($attchmentsquery)){ 
     175        ?> 
     176                        <TR> 
     177                                <TD nowrap><?php echo $attachmentrecord["displayname"] ?></TD> 
     178                                <TD><?php echo $attachmentrecord["recordid"] ?></TD> 
     179                                <TD align="right"><?php echo formatDateTime($attachmentrecord["creationdate"]) ?></TD> 
     180                                <TD> 
     181                                        <a href="<?php echo $_SESSION["app_path"].$attachmentrecord["editfile"]."?id=".$attachmentrecord["recordid"] ?>"> 
     182                                                <img src="<?php echo $_SESSION["app_path"]?>common/stylesheet/<?php echo $_SESSION["stylesheet"] ?>/button-edit.png" align="absmiddle" alt="edit" width="16" height="16" border="0" /> 
     183                                        </a> 
     184                                </TD> 
     185                        </TR> 
     186        <?php  
     187                        } ?></table></div></fieldset><?php 
     188                }  
     189        }?> 
     190 
    123191        <?php include("../../include/createmodifiedby.php"); ?> 
    124192</div> 
  • trunk/modules/base/include/adminsettings_include.php

    r60 r62  
    8585                        if(!$queryresult) reportError(300,"Error Uploading Graphic File"); 
    8686                } 
    87         } 
    8887                         
    8988        return true; 
  • trunk/modules/base/include/files_addedit_include.php

    r60 r62  
    5050         
    5151        $querystatement="SELECT 
    52                                 id,name,servename,type,accesslevel,ISNULL(file) as nofile
     52                                id,name,description,type,accesslevel
    5353                                 
    5454                                createdby, creationdate,  
     
    6969 
    7070        $therecord["name"]=""; 
    71         $therecord["servename"]=""; 
     71        $therecord["description"]=""; 
    7272        $therecord["type"]=""; 
    7373        $therecord["accesslevel"]=0; 
    74         $therecord["nofile"]=1; 
    7574         
    7675        $therecord["createdby"]=$_SESSION["userinfo"]["id"]; 
     
    8988         
    9089        $querystatement="UPDATE files SET "; 
    91          
    92                         $querystatement.="name=\"".$variables["name"]."\", ";  
    93                         $querystatement.="servename=\"".$variables["servename"]."\", ";  
     90 
     91                        $name=$variables["name"]; 
     92                        $querystatement.="description=\"".$variables["description"]."\", ";  
    9493                        $querystatement.="accesslevel=".$variables["accesslevel"].", ";  
    9594                        if($_FILES['upload']["name"]){ 
     95                                $name=$_FILES['upload']["name"]; 
    9696                                if (function_exists('file_get_contents')) { 
    9797                                        $file = addslashes(file_get_contents($_FILES['upload']['tmp_name'])); 
     
    103103                                $querystatement.="file=\"".$file."\", "; 
    104104                        } 
     105                        $querystatement.="name=\"".$name."\", ";  
    105106 
    106107        //==== Almost all records should have this ========= 
     
    129130        $querystatement="INSERT INTO files "; 
    130131         
    131         $querystatement.="(name,servename,accesslevel,type,file, 
     132        $querystatement.="(name,description,accesslevel,type,file, 
    132133                                                createdby,creationdate,modifiedby) VALUES ("; 
    133134         
    134                         $querystatement.="\"".$variables["name"]."\", ";  
    135                         $querystatement.="\"".$variables["servename"]."\", ";  
     135                        $querystatement.="\"".$_FILES['upload']["name"]."\", ";  
     136                        $querystatement.="\"".$variables["description"]."\", ";  
    136137                        $querystatement.=$variables["accesslevel"].", ";  
    137138                        $querystatement.="\"".$_FILES['upload']['type']."\", "; 
  • trunk/modules/base/include/files_search_functions.php

    r58 r62  
    4444//delete reports 
    4545function delete_record($theids){ 
    46         //passed variable is array of user ids to be revoked 
    47         $whereclause=buildWhereClause($theids,"reports.id"); 
     46        global $dblink; 
    4847 
    49         $querystatement = "DELETE FROM reports WHERE ".$whereclause.";"; 
     48        $whereclause=buildWhereClause($theids,"files.id"); 
     49        $attachmentwhereclause=buildWhereClause($theids,"attachments.fileid"); 
     50 
     51        $querystatement = "DELETE FROM attachments WHERE ".$attachmentwhereclause." AND attachments.fileid!=1;"; 
     52        $queryresult = mysql_query($querystatement,$dblink); 
     53        if (!$queryresult) reportError(300,"Couldn't Delete: ".mysql_error($dblink)." -- ".$querystatement);             
     54 
     55        $querystatement = "DELETE FROM files WHERE ".$whereclause." AND files.id!=1;"; 
    5056        $queryresult = mysql_query($querystatement,$dblink); 
    5157        if (!$queryresult) reportError(300,"Couldn't Delete: ".mysql_error($dblink)." -- ".$querystatement);             
     
    6167$has_header=true; 
    6268function display_header(){ 
    63         admin_tabs("Tables"); 
    64         echo "<table width='100%' cellspacing=0 cellpadding=0 class='bodyline' style='border-bottom:0px;margin-bottom:0px;background-image:none;padding-top:3px;-moz-border-radius-bottomleft:0px;-moz-border-radius-bottomright:0px;'><tr><td>"; 
    65         admin_table_tabs("Reports"); 
    66         echo "</td></tr></table>";       
     69        admin_tabs("Files"); 
    6770}; 
    6871?> 
  • trunk/modules/base/include/reports_search_functions.php

    r51 r62  
    4444//delete reports 
    4545function delete_record($theids){ 
    46         //passed variable is array of user ids to be revoked 
     46        global $dblink;