Skip to content

Commit

Permalink
CS-5642 - Article Editor removes the img tags for imported articles
Browse files Browse the repository at this point in the history
  • Loading branch information
takeit committed Mar 11, 2015
1 parent 73b7126 commit 9834873
Showing 1 changed file with 40 additions and 30 deletions.
70 changes: 40 additions & 30 deletions newscoop/classes/ArticleData.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,19 @@
/**
* Includes
*/
require_once($GLOBALS['g_campsiteDir'].'/classes/DatabaseObject.php');
require_once($GLOBALS['g_campsiteDir'].'/classes/ArticleTypeField.php');
require_once($GLOBALS['g_campsiteDir'].'/classes/ArticleType.php');
require_once $GLOBALS['g_campsiteDir'].'/classes/DatabaseObject.php';
require_once $GLOBALS['g_campsiteDir'].'/classes/ArticleTypeField.php';
require_once $GLOBALS['g_campsiteDir'].'/classes/ArticleType.php';

/**
* @package Campsite
*/
class ArticleData extends DatabaseObject {
class ArticleData extends DatabaseObject
{
var $m_columnNames = array('NrArticle', 'IdLanguage');
var $m_keyColumnNames = array('NrArticle', 'IdLanguage');
var $m_dbTableName;
var $m_articleTypeName;
public $m_dbTableName;
public $m_articleTypeName;
private $m_articleTypeObject = null;

/**
Expand All @@ -26,8 +27,8 @@ class ArticleData extends DatabaseObject {
* ways.
*
* @param string $p_articleType
* @param int $p_articleNumber
* @param int $p_languageId
* @param int $p_articleNumber
* @param int $p_languageId
*/
public function ArticleData($p_articleType, $p_articleNumber, $p_languageId)
{
Expand All @@ -53,10 +54,10 @@ public function ArticleData($p_articleType, $p_articleNumber, $p_languageId)
public function getFieldValue($p_property, $p_forceFetchFromDatabase = false)
{
$dbColumnName = 'F'.$p_property;

return parent::getProperty($dbColumnName, $p_forceFetchFromDatabase);
}


/**
* Gets the translation for a given language; default language is the
* session language. If no translation is set for that language, we
Expand All @@ -75,9 +76,11 @@ public function getDisplayName($p_lang = 0)
}
$aObj = new ArticleType($this->m_articleTypeName);
$translations = $aObj->getTranslations();
if (!isset($translations[$lang])) return substr($aObj->getTableName(), 1);
return $translations[$lang];
if (!isset($translations[$lang])) {
return substr($aObj->getTableName(), 1);
}

return $translations[$lang];
} // fn getDisplayName


Expand Down Expand Up @@ -107,7 +110,7 @@ public function setProperty($p_dbColumnName, $p_value, $p_commit = true, $p_isSq
$widthAttr = "(width\s*=\s*\"[^\"]*\")";
$heightAttr = "(height\s*=\s*\"[^\"]*\")";
$otherAttr = "(\w+\s*=\s*\"[^\"]*\")*";
$pattern = "/<\s*img\s*(($idAttr|$srcAttr|$altAttr|$subAttr|$alignAttr|$widthAttr|$heightAttr|$otherAttr)\s*)*\/>/i";
$pattern = "/<\s*img\s*$idAttr\s*(($srcAttr|$altAttr|$subAttr|$alignAttr|$widthAttr|$heightAttr|$otherAttr)\s*)*\/>/i";
$p_value = preg_replace_callback($pattern, array($this, "transformImageTags"), $text);

// Replace snippets div holder with snippets tag
Expand All @@ -118,17 +121,18 @@ public function setProperty($p_dbColumnName, $p_value, $p_commit = true, $p_isSq
}
if ($articleField->getType() == ArticleTypeField::TYPE_SWITCH) {
if (is_string($p_value)) {
return parent::setProperty($p_dbColumnName, (int)($p_value == 'on'), $p_commit);
} else if (is_int($p_value)) {
return parent::setProperty($p_dbColumnName, (int) ($p_value == 'on'), $p_commit);
} elseif (is_int($p_value)) {
return parent::setProperty($p_dbColumnName, $p_value, $p_commit);
}
}
return parent::setProperty($p_dbColumnName, $p_value, $p_commit, $p_isSql);
}
/**
* Copy the row in the database.
* @param int $p_destArticleNumber
* @param int $p_destArticleNumber
* @return void
*/
public function copy($p_destArticleNumber)
Expand All @@ -148,12 +152,12 @@ public function copy($p_destArticleNumber)


/**
* Return an array of ArticleTypeField objects.
*
* @param p_showAll boolean
*
* @return array
*/
* Return an array of ArticleTypeField objects.
*
* @param p_showAll boolean
*
* @return array
*/
public function getUserDefinedColumns($p_showAll = false, $p_skipCache = false)
{
if (empty($this->m_articleTypeName)) {
Expand All @@ -176,8 +180,8 @@ public function getUserDefinedColumns($p_showAll = false, $p_skipCache = false)

/**
* Copy the row in the database.
* @param int $p_destArticleNumber
* @param int $p_destLanguageId
* @param int $p_destArticleNumber
* @param int $p_destLanguageId
* @return void
*/
public function copyToExistingRecord($p_destArticleNumber, $p_destLanguageId = null)
Expand All @@ -201,12 +205,14 @@ public function copyToExistingRecord($p_destArticleNumber, $p_destLanguageId = n
} // fn copyToExistingRecord


public static function TransformSubheads($match) {
public static function TransformSubheads($match)
{
static $spanCounter = -1;

// This matches '<span class="campsite_subhead">'
if (preg_match("/<\s*span[^>]*class\s*=\s*[\"']campsite_subhead[\"'][^>]*>/i", $match[0])) {
$spanCounter = 1;

return "<!** Title>";
}
// This matches '<span'
Expand All @@ -219,8 +225,10 @@ public static function TransformSubheads($match) {
}
if ($spanCounter == 0) {
$spanCounter = -1;

return "<!** EndTitle>";
}

return $match[0];
} // fn TransformSubheads

Expand All @@ -232,7 +240,8 @@ public static function TransformSubheads($match) {
* @param array p_match
* @return string
*/
public static function TransformInternalLinks($p_match) {
public static function TransformInternalLinks($p_match)
{
static $internalLinkCounter = 0;
static $internalLinkStartTag = 0;

Expand All @@ -259,6 +268,7 @@ public static function TransformInternalLinks($p_match) {
// Replace the HTML tag with a template tag
$retval = "<!** EndLink>";
$internalLinkStartTag = "";

return $retval;
} else {
// The starting link was blank, so we return blank for the
Expand Down Expand Up @@ -310,7 +320,8 @@ public static function TransformInternalLinks($p_match) {
* @param array p_match
* @return string
*/
public function transformImageTags($p_match) {
public function transformImageTags($p_match)
{
array_shift($p_match);
$attrs = array();
foreach ($p_match as $attr) {
Expand All @@ -320,7 +331,7 @@ public function transformImageTags($p_match) {
if (isset($attr[1]) && count($attr) > 2) {
$attrValue = implode('=', array_slice($attr, 1));
} else {
$attrValue = isset($attr[1]) ? $attr[1] : '';
$attrValue = isset($attr[1]) ? $attr[1] : '';
}
// Strip out the quotes
$attrValue = str_replace('"', '', $attrValue);
Expand Down Expand Up @@ -364,9 +375,8 @@ public function transformImageTags($p_match) {
$ratioTag = 'ratio="'.$imageRatio.'"';
}
$imageTag = "<!** Image $templateId $alignTag $altTag $captionTag $widthTag $heightTag $ratioTag>";

return $imageTag;
} // fn TransformImageTags

} // class ArticleData

?>
;

0 comments on commit 9834873

Please sign in to comment.