Index: class.vfs_sql.inc.php =================================================================== RCS file: /cvsroot/phpgroupware/phpgwapi/inc/class.vfs_sql.inc.php,v retrieving revision 1.15.2.6 diff -u -r1.15.2.6 class.vfs_sql.inc.php --- class.vfs_sql.inc.php 24 Jun 2002 03:51:43 -0000 1.15.2.6 +++ class.vfs_sql.inc.php 5 Jul 2002 18:53:31 -0000 @@ -583,7 +583,7 @@ ) ); - $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET mime_type='journal-deleted' WHERE directory='".$state_one_path_parts->fake_leading_dirs_clean."' AND name='".$state_one_path_parts->fake_name_clean."' AND mime_type='journal'"); + $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET mime_type='journal-deleted' WHERE directory LIKE '".$state_one_path_parts->fake_leading_dirs_clean."' AND name LIKE '".$state_one_path_parts->fake_name_clean."' AND mime_type='journal'", __LINE__, __FILE__); /* We create the file in addition to logging the MOVED operation. This is an @@ -606,7 +606,7 @@ */ if ($data['operation'] == VFS_OPERATION_DELETED) { - $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET mime_type='journal-deleted' WHERE directory='$p->fake_leading_dirs_clean' AND name='$p->fake_name_clean' AND mime_type='journal'"); + $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET mime_type='journal-deleted' WHERE directory LIKE '$p->fake_leading_dirs_clean' AND name LIKE '$p->fake_name_clean' AND mime_type='journal'", __LINE__, __FILE__); } return True; @@ -646,7 +646,7 @@ ) ); - $sql = "DELETE FROM phpgw_vfs WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'"; + $sql = "DELETE FROM phpgw_vfs WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'"; if (!$data['deleteall']) { @@ -711,7 +711,7 @@ return False; } - $sql = "SELECT * FROM phpgw_vfs WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'"; + $sql = "SELECT * FROM phpgw_vfs WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'"; if ($data['type'] == 1) { @@ -1162,7 +1162,7 @@ We don't use ls () to get owner_id as we normally would, because ls () calls acl_check (), which would create an infinite loop */ - $query = $GLOBALS['phpgw']->db->query ("SELECT owner_id FROM phpgw_vfs WHERE directory='".$p2->fake_leading_dirs_clean."' AND name='".$p2->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); + $query = $GLOBALS['phpgw']->db->query ("SELECT owner_id FROM phpgw_vfs WHERE directory LIKE '".$p2->fake_leading_dirs_clean."' AND name LIKE '".$p2->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); $GLOBALS['phpgw']->db->next_record (); $owner_id = $GLOBALS['phpgw']->db->Record['owner_id']; @@ -1726,7 +1726,7 @@ )) ) { - $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET owner_id='$this->working_id', directory='$t->fake_leading_dirs_clean', name='$t->fake_name_clean' WHERE owner_id='$this->working_id' AND directory='$t->fake_leading_dirs_clean' AND name='$t->fake_name_clean'" . $this->extra_sql (VFS_SQL_UPDATE), __LINE__, __FILE__); + $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET owner_id='$this->working_id', directory='$t->fake_leading_dirs_clean', name='$t->fake_name_clean' WHERE owner_id='$this->working_id' AND directory LIKE '$t->fake_leading_dirs_clean' AND name LIKE '$t->fake_name_clean'" . $this->extra_sql (VFS_SQL_UPDATE), __LINE__, __FILE__); $this->set_attributes(array( 'string' => $t->fake_full_path, @@ -2000,11 +2000,11 @@ 'relatives' => array ($t->mask) ) ); - $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET size=$size WHERE directory='$t->fake_leading_dirs_clean' AND name='$t->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_UPDATE)), __LINE__, __FILE__); + $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET size=$size WHERE directory LIKE '$t->fake_leading_dirs_clean' AND name LIKE '$t->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_UPDATE)), __LINE__, __FILE__); } elseif (!$t->outside) { - $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET name='$t->fake_name_clean', directory='$t->fake_leading_dirs_clean' WHERE directory='$f->fake_leading_dirs_clean' AND name='$f->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_UPDATE)), __LINE__, __FILE__); + $query = $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET name='$t->fake_name_clean', directory='$t->fake_leading_dirs_clean' WHERE directory LIKE '$f->fake_leading_dirs_clean' AND name LIKE '$f->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_UPDATE)), __LINE__, __FILE__); } $this->set_attributes(array( @@ -2153,7 +2153,7 @@ ) ); - $query = $GLOBALS['phpgw']->db->query ("DELETE FROM phpgw_vfs WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'".$this->extra_sql (array ('query_type' => VFS_SQL_DELETE)), __LINE__, __FILE__); + $query = $GLOBALS['phpgw']->db->query ("DELETE FROM phpgw_vfs WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'".$this->extra_sql (array ('query_type' => VFS_SQL_DELETE)), __LINE__, __FILE__); $rr = unlink ($p->real_full_path); if ($query || $rr) @@ -2235,7 +2235,7 @@ ) ); - $query = $GLOBALS['phpgw']->db->query ("DELETE FROM phpgw_vfs WHERE directory='$p->fake_leading_dirs_clean' AND name='$p->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_DELETE)), __LINE__, __FILE__); + $query = $GLOBALS['phpgw']->db->query ("DELETE FROM phpgw_vfs WHERE directory LIKE '$p->fake_leading_dirs_clean' AND name LIKE '$p->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_DELETE)), __LINE__, __FILE__); rmdir ($p->real_full_path); @@ -2700,14 +2700,14 @@ passed a directory */ $db2 = $GLOBALS['phpgw']->db; - $db2->query ("SELECT mime_type FROM phpgw_vfs WHERE directory='$p->fake_leading_dirs_clean' AND name='$p->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); + $db2->query ("SELECT mime_type FROM phpgw_vfs WHERE directory LIKE '$p->fake_leading_dirs_clean' AND name LIKE '$p->fake_name_clean'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); $db2->next_record (); $mime_type = $db2->Record['mime_type']; if(!$mime_type) { $mime_type = $this->get_ext_mime_type (array ('string' => $data['string'])); { - $db2->query ("UPDATE phpgw_vfs SET mime_type='".$mime_type."' WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); + $db2->query ("UPDATE phpgw_vfs SET mime_type='".$mime_type."' WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); } } @@ -2794,7 +2794,7 @@ } $db2 = $GLOBALS['phpgw']->db; - $db2->query ("SELECT name FROM phpgw_vfs WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); + $db2->query ("SELECT name FROM phpgw_vfs WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); if ($db2->next_record ()) { @@ -2883,7 +2883,7 @@ if ($data['checksubdirs']) { - $query = $GLOBALS['phpgw']->db->query ("SELECT size FROM phpgw_vfs WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'" . $this->extra_sql (array ('query_text' => VFS_SQL_SELECT))); + $query = $GLOBALS['phpgw']->db->query ("SELECT size FROM phpgw_vfs WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'" . $this->extra_sql (array ('query_text' => VFS_SQL_SELECT)), __LINE__, __FILE__); $GLOBALS['phpgw']->db->next_record (); $size += $GLOBALS['phpgw']->db->Record[0]; } @@ -2995,7 +2995,7 @@ $sql .= $attribute; } - $sql .= " FROM phpgw_vfs WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'".$this->extra_sql (array ('query_type' => VFS_SQL_SELECT)); + $sql .= " FROM phpgw_vfs WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'".$this->extra_sql (array ('query_type' => VFS_SQL_SELECT)); $query = $GLOBALS['phpgw']->db->query ($sql, __LINE__, __FILE__); @@ -3017,7 +3017,7 @@ if($record[$attribute]) { - $db2->query ("UPDATE phpgw_vfs SET mime_type='".$record[$attribute]."' WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); + $db2->query ("UPDATE phpgw_vfs SET mime_type='".$record[$attribute]."' WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); } } @@ -3089,7 +3089,15 @@ $sql .= " AND mime_type='".$data['mime_type']."'"; } - $sql .= ' ORDER BY '.$data['orderby']; + if ($GLOBALS['phpgw_info']['server']['db_type']=='mssql' + || $GLOBALS['phpgw_info']['server']['db_type']=='sybase') + { + $sql .= ' ORDER BY CONVERT(varchar, '.$data['orderby'].')'; + } + else + { + $sql .= ' ORDER BY '.$data['orderby']; + } $query = $GLOBALS['phpgw']->db->query ($sql, __LINE__, __FILE__); @@ -3123,7 +3131,7 @@ if($record[$attribute]) { - $db2->query ("UPDATE phpgw_vfs SET mime_type='".$record[$attribute]."' WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); + $db2->query ("UPDATE phpgw_vfs SET mime_type='".$record[$attribute]."' WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); } } @@ -3408,7 +3416,7 @@ if($mime_type) { - $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET mime_type='".$mime_type."' WHERE directory='".$p->fake_leading_dirs_clean."' AND name='".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); + $GLOBALS['phpgw']->db->query ("UPDATE phpgw_vfs SET mime_type='".$mime_type."' WHERE directory LIKE '".$p->fake_leading_dirs_clean."' AND name LIKE '".$p->fake_name_clean."'" . $this->extra_sql (array ('query_type' => VFS_SQL_SELECT)), __LINE__, __FILE__); } }