Changeset 12722
- Timestamp:
- Dec 13, 2011, 2:43:18 PM (12 years ago)
- Location:
- branches/2.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.3/include/ws_functions.inc.php
r12651 r12722 1655 1655 } 1656 1656 1657 // current date 1658 list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 1659 list($year, $month, $day) = preg_split('/[^\d]/', $dbnow, 4); 1660 1661 // upload directory hierarchy 1662 $upload_dir = sprintf( 1663 $conf['upload_dir'].'/%s/%s/%s', 1664 $year, 1665 $month, 1666 $day 1657 if ($params['resize']) 1658 { 1659 ws_logfile('[pwg.images.add] resize activated'); 1660 1661 // temporary file path 1662 $type = 'file'; 1663 $file_path = $conf['upload_dir'].'/buffer/'.$params['original_sum'].'-'.$type; 1664 1665 merge_chunks($file_path, $params['original_sum'], $type); 1666 chmod($file_path, 0644); 1667 1668 $image_id = add_uploaded_file( 1669 $file_path, 1670 $params['original_filename'] 1671 ); 1672 1673 // add_uploaded_file doesn't remove the original file in the buffer 1674 // directory if it was not uploaded as $_FILES 1675 unlink($file_path); 1676 1677 $info_columns = array( 1678 'name', 1679 'author', 1680 'comment', 1681 'level', 1682 'date_creation', 1667 1683 ); 1668 1684 1669 // compute file path 1670 $date_string = preg_replace('/[^\d]/', '', $dbnow); 1671 $random_string = substr($params['file_sum'], 0, 8); 1672 $filename_wo_ext = $date_string.'-'.$random_string; 1673 $file_path = $upload_dir.'/'.$filename_wo_ext.'.jpg'; 1674 1675 // add files 1676 $file_infos = add_file($file_path, 'file', $params['original_sum'], $params['file_sum']); 1677 $thumb_infos = add_file($file_path, 'thumb', $params['original_sum'], $params['thumbnail_sum']); 1678 1679 if (isset($params['high_sum'])) 1680 { 1681 $high_infos = add_file($file_path, 'high', $params['original_sum'], $params['high_sum']); 1682 } 1683 1684 // database registration 1685 $insert = array( 1686 'file' => !empty($params['original_filename']) ? $params['original_filename'] : $filename_wo_ext.'.jpg', 1687 'date_available' => $dbnow, 1688 'tn_ext' => 'jpg', 1689 'name' => $params['name'], 1690 'path' => $file_path, 1691 'filesize' => $file_infos['filesize'], 1692 'width' => $file_infos['width'], 1693 'height' => $file_infos['height'], 1694 'md5sum' => $params['original_sum'], 1695 'added_by' => $user['id'], 1696 ); 1697 1698 $info_columns = array( 1699 'name', 1700 'author', 1701 'comment', 1702 'level', 1703 'date_creation', 1704 ); 1705 1706 foreach ($info_columns as $key) 1707 { 1708 if (isset($params[$key])) 1709 { 1710 $insert[$key] = $params[$key]; 1711 } 1712 } 1713 1714 if (isset($params['high_sum'])) 1715 { 1716 $insert['has_high'] = 'true'; 1717 $insert['high_filesize'] = $high_infos['filesize']; 1718 $insert['high_width'] = $high_infos['width']; 1719 $insert['high_height'] = $high_infos['height']; 1720 } 1721 1722 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 1723 mass_inserts( 1724 IMAGES_TABLE, 1725 array_keys($insert), 1726 array($insert) 1727 ); 1728 1729 $image_id = pwg_db_insert_id(IMAGES_TABLE); 1685 foreach ($info_columns as $key) 1686 { 1687 if (isset($params[$key])) 1688 { 1689 $update[$key] = $params[$key]; 1690 } 1691 } 1692 1693 if (count(array_keys($update)) > 0) 1694 { 1695 single_update( 1696 IMAGES_TABLE, 1697 $update, 1698 array('id' => $image_id) 1699 ); 1700 } 1701 } 1702 else 1703 { 1704 // current date 1705 list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 1706 list($year, $month, $day) = preg_split('/[^\d]/', $dbnow, 4); 1707 1708 // upload directory hierarchy 1709 $upload_dir = sprintf( 1710 $conf['upload_dir'].'/%s/%s/%s', 1711 $year, 1712 $month, 1713 $day 1714 ); 1715 1716 // compute file path 1717 $date_string = preg_replace('/[^\d]/', '', $dbnow); 1718 $random_string = substr($params['file_sum'], 0, 8); 1719 $filename_wo_ext = $date_string.'-'.$random_string; 1720 $file_path = $upload_dir.'/'.$filename_wo_ext.'.jpg'; 1721 1722 // add files 1723 $file_infos = add_file($file_path, 'file', $params['original_sum'], $params['file_sum']); 1724 $thumb_infos = add_file($file_path, 'thumb', $params['original_sum'], $params['thumbnail_sum']); 1725 1726 if (isset($params['high_sum'])) 1727 { 1728 $high_infos = add_file($file_path, 'high', $params['original_sum'], $params['high_sum']); 1729 } 1730 1731 // database registration 1732 $insert = array( 1733 'file' => !empty($params['original_filename']) ? $params['original_filename'] : $filename_wo_ext.'.jpg', 1734 'date_available' => $dbnow, 1735 'tn_ext' => 'jpg', 1736 'name' => $params['name'], 1737 'path' => $file_path, 1738 'filesize' => $file_infos['filesize'], 1739 'width' => $file_infos['width'], 1740 'height' => $file_infos['height'], 1741 'md5sum' => $params['original_sum'], 1742 'added_by' => $user['id'], 1743 ); 1744 1745 $info_columns = array( 1746 'name', 1747 'author', 1748 'comment', 1749 'level', 1750 'date_creation', 1751 ); 1752 1753 foreach ($info_columns as $key) 1754 { 1755 if (isset($params[$key])) 1756 { 1757 $insert[$key] = $params[$key]; 1758 } 1759 } 1760 1761 if (isset($params['high_sum'])) 1762 { 1763 $insert['has_high'] = 'true'; 1764 $insert['high_filesize'] = $high_infos['filesize']; 1765 $insert['high_width'] = $high_infos['width']; 1766 $insert['high_height'] = $high_infos['height']; 1767 } 1768 1769 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 1770 mass_inserts( 1771 IMAGES_TABLE, 1772 array_keys($insert), 1773 array($insert) 1774 ); 1775 1776 $image_id = pwg_db_insert_id(IMAGES_TABLE); 1777 1778 // update metadata from the uploaded file (exif/iptc) 1779 require_once(PHPWG_ROOT_PATH.'admin/include/functions_metadata.php'); 1780 update_metadata(array($image_id=>$file_path)); 1781 } 1730 1782 1731 1783 // let's add links between the image and the categories … … 1743 1795 ); 1744 1796 } 1745 1746 // update metadata from the uploaded file (exif/iptc)1747 require_once(PHPWG_ROOT_PATH.'admin/include/functions_metadata.php');1748 update_metadata(array($image_id=>$file_path));1749 1797 1750 1798 invalidate_user_cache(); -
branches/2.3/ws.php
r12694 r12722 227 227 array( 228 228 'file_sum' => array(), 229 'thumbnail_sum' => array( ),229 'thumbnail_sum' => array('default' => null), 230 230 'high_sum' => array('default' => null), 231 231 'original_sum' => array(), … … 241 241 'maxValue' => $conf['available_permission_levels'] 242 242 ), 243 'resize' => array('default' => false), 243 244 ), 244 245 'POST method only.
Note: See TracChangeset
for help on using the changeset viewer.