=now() then now()-interval '1 sec' else securelinkexpireddate end where securelinkcode = ".db_tick($code) ; //d($sql); db_exec($sql,1); return $id; } function securelink_generatecode() { return md5(time().loginid().rand(01111111,9999999999999)); } function securelinktype_check($type) { global $securelinktypes; if(!$securelinktypes[$type]) ddie("invalid type $type"); } function securelink_click_bycode($code) { $sql .=" insert into securelinkclick (securelinkclickip, securelinkid) values select '".$_SERVER[REMOTE_ADDR]."', securelinkid from tblsecurelink where securelinkcode = ".db_tick($code); db_exec($sql); //ddie(id,$id); return $qry; } function securelink_getall_bytypeid($type,$id) { $sql .="select * ,case when expiredays is null then 'Never' when expired=1 then 'Expired' else expiredays||' days' end as expiredate from ( select * , case when coalesce(securelinkexpireddate,coalesce(securelinkcreateddate+securelinkexpireinterval, now()+interval '5 second')) <= now() then 1 else 0 end as expired , coalesce(securelinkexpireddate,coalesce(securelinkcreateddate+securelinkexpireinterval, null))::date-now()::date as expiredays from tblsecurelink )tbl where {$type}id = ".db_number($id)." order by expired , expiredate desc" ; // d($sql); $qry = db_query($sql); //ddie(id,$id); return $qry; } function securelink_display_bytypeid($type,$id, $canadd=1) { if (!loginid()){ return;} $all = securelink_getall_bytypeid($type,$id); $out.=""; return $out; } function securelink_getdata_bycode($code,$evenifexpired=0) { $sql .=" select * , case when coalesce(securelinkexpireddate,coalesce(securelinkcreateddate+securelinkexpireinterval, now())) < now() then 1 else 0 end as expired from tblsecurelink where securelinkcode = '".db_col($code)."'"; if(!$evenifexpired) //someone can request this information, even if it is required, but this would only be the system requesting to show it to the user. $sql.=" and coalesce(securelinkexpireddate,coalesce(securelinkcreateddate+securelinkexpireinterval,now())) >= now() "; // d($sql); $qry = db_first($sql); if($qry[clienttaskid]) $qry[data]=get_clienttask($qry[clienttaskid]); if($qry[clientofferid]) $qry[data]=clientoffer_get($qry[clientofferid]); //ddie(id,$id); return $qry; }