Posted on: 09/23/06 12:35am
By: jmucchiello
function STORY_replace_images($sid, $intro, $body) { global $_CONF, $_TABLES, $LANG24; $stdImageLoc = true; if (!strstr($_CONF['path_images'], $_CONF['path_html'])) { $stdImageLoc = false; } $result = DB_query("SELECT ai_filename FROM {$_TABLES['article_images']} WHERE ai_sid = '$sid' ORDER BY ai_img_num"); $nrows = DB_numRows($result); $aSearch = Array(); $aReplace = Array(); for ($i = 1; $i <= $nrows; $i++) { $A = DB_fetchArray($result); $sizeattributes = COM_getImgSizeAttributes ($_CONF['path_images'] . 'articles/' . $A['ai_filename']); $lLinkPrefix = ''; $lLinkSuffix = ''; if ($_CONF['keep_unscaled_image'] == 1) { $lFilename_large = substr_replace ($A['ai_filename'], '_original.', strrpos ($A['ai_filename'], '.'), 1); $lFilename_large_complete = $_CONF['path_images'] . 'articles/' . $lFilename_large; if ($stdImageLoc) { $imgpath = substr ($_CONF['path_images'], strlen ($_CONF['path_html'])); $lFilename_large_URL = $_CONF['site_url'] . '/' . $imgpath . 'articles/' . $lFilename_large; } else { $lFilename_large_URL = $_CONF['site_url'] . '/getimage.php?mode=showâ„‘=' . $lFilename_large; } if (file_exists ($lFilename_large_complete)) { $lLinkPrefix = '<a href="' . $lFilename_large_URL . '" title="' . $LANG24[57] . '">'; $lLinkSuffix = '</a>'; } } if ($stdImageLoc) { $imgpath = substr ($_CONF['path_images'], strlen ($_CONF['path_html'])); $imgSrc = $_CONF['site_url'] . '/' . $imgpath . 'articles/' . $A['ai_filename']; } else { $imgSrc = $_CONF['site_url'] . '/getimage.php?mode=articlesâ„‘=' . $A['ai_filename']; } $imgSrc = preg_quote($imgSrc); $sizeattributes = preg_quote($sizeattributes); $lLinkPrefix = preg_quote($lLinkPrefix); $lLinkSuffix = preg_quote($lLinkSuffix); $aSearch[] = '%'.$lLinkPrefix.'<img ' . $sizeattributes . 'src="' . $imgSrc . '" alt="">' . $lLinkSuffix . '%'; $aReplace[] = '[image'.$i.']'; $aSearch[] = '%'.$lLinkPrefix.'<img ' . $sizeattributes . 'src="' . $imgSrc . '" alt="(.+)">' . $lLinkSuffix . '%'; $aReplace[] = '[image'.$i.':1]'; $aSearch[] = '%'.$lLinkPrefix.'<img ' . $sizeattributes . 'align="(left|right)" src="' . $imgSrc . '" alt="(.*)">' . $lLinkSuffix . '%'; $aReplace[] = '[image'.$i.'_1:2]'; if (($_CONF['allow_user_scaling'] == 1) and ($_CONF['keep_unscaled_image'] == 1)) { if (file_exists ($lFilename_large_complete)) { $sizeattributes = preg_quote(COM_getImgSizeAttributes($lFilename_large_complete)); $imgSrc = preg_quote($lFilename_large_URL); } $aSearch[] = '%'.$lLinkPrefix.'<img ' . $sizeattributes . 'src="' . $imgSrc . '" alt="">' . $lLinkSuffix . '%'; $aReplace[] = '[unscaled'.$i.']'; $aSearch[] = '%'.$lLinkPrefix.'<img ' . $sizeattributes . 'src="' . $imgSrc . '" alt="(.+)">' . $lLinkSuffix . '%'; $aReplace[] = '[unscaled'.$i.':1]'; $aSearch[] = '%'.$lLinkPrefix.'<img ' . $sizeattributes . 'align="(left|right)" src="' . $imgSrc . '" alt="(.*)">' . $lLinkSuffix . '%'; $aReplace[] = '[unscaled'.$i.'_1:2]'; } } list($intro, $body) = preg_replace($aSearch, $aReplace, Array($intro, $body)); return array($intro, $body); } function STORY_insert_images($sid, $intro, $body, $usage='html') { global $_CONF, $_TABLES, $LANG24; $result = DB_query("SELECT ai_filename FROM {$_TABLES['article_images']} WHERE ai_sid = '$sid' ORDER BY ai_img_num"); $nrows = DB_numRows($result); $errors = array(); $stdImageLoc = true; if (!strstr($_CONF['path_images'], $_CONF['path_html'])) { $stdImageLoc = false; } $aSearch = Array(); $aReplace = Array(); for ($i = 1; $i <= $nrows; $i++) { $A = DB_fetchArray($result); $lLinkPrefix = ''; $lLinkSuffix = ''; if ($_CONF['keep_unscaled_image'] == 1) { $lFilename_large = substr_replace ($A['ai_filename'], '_original.', strrpos ($A['ai_filename'], '.'), 1); $lFilename_large_complete = $_CONF['path_images'] . 'articles/' . $lFilename_large; if ($stdImageLoc) { $imgpath = substr ($_CONF['path_images'], strlen ($_CONF['path_html'])); $lFilename_large_URL = $_CONF['site_url'] . '/' . $imgpath . 'articles/' . $lFilename_large; } else { $lFilename_large_URL = $_CONF['site_url'] . '/getimage.php?mode=showâ„‘=' . $lFilename_large; } if (file_exists ($lFilename_large_complete)) { $lLinkPrefix = '<a href="' . $lFilename_large_URL . '" title="' . $LANG24[57] . '">'; $lLinkSuffix = '</a>'; } } $sizeattributes = COM_getImgSizeAttributes ($_CONF['path_images'] . 'articles/' . $A['ai_filename']); $match = '%[(image|unscaled)'.$i.'(_(left|right))?([^]]*))?]%'; if (!preg_match($match, $intro) and !preg_match($match, $body)) { // There is an image that wasn't used, create an error $errors[] = $LANG24[48] . " #$i, {$A['ai_filename']}, " . $LANG24[53] . "<br>$match"; } else { if ($usage=='email') { // image will be attached, no path necessary $imgSrc = $A['ai_filename']; } elseif ($stdImageLoc) { $imgpath = substr ($_CONF['path_images'], strlen ($_CONF['path_html'])); $imgSrc = $_CONF['site_url'] . '/' . $imgpath . 'articles/' . $A['ai_filename']; } else { $imgSrc = $_CONF['site_url'] . '/getimage.php?mode=articlesâ„‘=' . $A['ai_filename']; } $aSearch[] = '%[image'.$i.'([^]]*))?]%'; $aReplace[] = $lLinkPrefix . '<img ' . $sizeattributes . 'src="' . $imgSrc . '" alt="2">' . $lLinkSuffix; $aSearch[] = '%[image'.$i.'_(left|right)([^]]*))?]%'; $aReplace[] = $lLinkPrefix . '<img ' . $sizeattributes . 'align="1" src="' . $imgSrc . '" alt="3">' . $lLinkSuffix; if (($_CONF['allow_user_scaling'] == 1) and ($_CONF['keep_unscaled_image'] == 1)) { if (file_exists ($lFilename_large_complete)) { $imgSrc = $lFilename_large_URL; $sizeattributes = COM_getImgSizeAttributes ($lFilename_large_complete); } $aSearch[] = '%[unscaled'.$i.'([^]]*))?]%'; $aReplace[] = $lLinkPrefix . '<img ' . $sizeattributes . 'src="' . $imgSrc . '" alt="2">' . $lLinkSuffix; $aSearch[] = '%[unscaled'.$i.'_(left|right)([^]]*))?]%'; $aReplace[] = $lLinkPrefix . '<img ' . $sizeattributes . 'align="1" src="' . $imgSrc . '" alt="3">' . $lLinkSuffix; } } } if (count($aSearch) > 0) { list($intro, $body) = preg_replace($aSearch, $aReplace, Array($intro, $body)); } return array($errors, $intro, $body); }
Posted on: 09/29/06 12:31am
By: jmucchiello