Exemple #1
0
 /**
  * public static getCloneFromID
  *
  * Clones a Row, changes some attributes
  * and writes it to persistence (MySQL for now)
  *
  * @param anyRowID as the ID of Row to be cloned
  * @param String label receive a new label for this Row
  * @param boolean $setPrivate Should the template be set as a private one ?  ALSO determines if the new row should point to the same file
  * @return a valid new CMS_row
  */
 static function getCloneFromID($rowID = 0, $label = false, $setPrivate = false)
 {
     $ret = false;
     $model = new CMS_row($rowID);
     if ($model->getID() > 0) {
         //New blank one
         $row = new CMS_row();
         //First write a new object to get it's ID
         $row->writeToPersistence();
         //Setting label
         $label = $label ? $label : $model->getLabel();
         $row->setLabel($label);
         //Copying template definition file (if not private template)
         if ($setPrivate) {
             $filename = $model->getDefinitionFileName();
         } else {
             $filename = "r" . $row->getID() . "_" . SensitiveIO::sanitizeAsciiString($row->getLabel()) . ".xml";
         }
         if ($setPrivate || CMS_file::copyTo(PATH_TEMPLATES_ROWS_FS . "/" . $model->getDefinitionFileName(), PATH_TEMPLATES_ROWS_FS . "/" . $filename)) {
             $row->setDefinitionFile($filename);
             //Copying groupsStack from database
             foreach ($model->getGroups() as $grp) {
                 $row->addGroup($grp);
             }
             //Copying image
             $row->setImage($model->getImage(CMS_file::WEBROOT, true));
             //set private if asked to.
             if ($setPrivate) {
                 $row->setPrivate(true);
             }
             //copy description
             $row->setDescription($model->getDescription());
             //add filtered templates
             $row->setFilteredTemplates($model->getFilteredTemplates());
             //Partial update for groups and image
             $row->writeToPersistence();
             $ret = $row;
         }
         unset($model);
     }
     if ($row) {
         //Clean if any error when out
         if (!$ret) {
             $row->destroy();
         }
         unset($row);
     }
     return $ret;
 }
Exemple #2
0
    foreach ($allIcons as $icon) {
        list($sizeX, $sizeY) = @getimagesize($_SERVER["DOCUMENT_ROOT"] . "/" . $icon);
        $maxheight = $sizeY > $maxheight ? $sizeY : $maxheight;
    }
    $maxheight += 10;
    $columns = sizeof($allIcons) < 5 ? sizeof($allIcons) : 5;
    $iconsField .= "{\n\t\txtype: \t\t'radiogroup',\n\t\tfieldLabel: '<span class=\"atm-help\" ext:qtip=\"{$cms_language->getJsMessage(MESSAGE_FIELD_ICON_DESC)}\">{$cms_language->getJsMessage(MESSAGE_FIELD_ICON)}</span>',\n\t\tcolumns: \t{$columns},\n\t\titems: [";
    foreach ($allIcons as $icon) {
        $iconsField .= "{boxLabel: '<img src=\"{$icon}\">', height:" . $maxheight . ", inputValue:'{$icon}', name: 'image', checked:" . ($row->getImage() == $icon ? 'true' : 'false') . "},";
    }
    //remove last comma from groups
    $iconsField = io::substr($iconsField, 0, -1);
    $iconsField .= "\n\t\t]\n\t},";
}
//Templates filters
$filteredTemplates = $row->getFilteredTemplates();
$templates = CMS_pageTemplatesCatalog::getAll(true, '', array(), '', array(), $cms_user, 0, 0, true);
$availableTemplates = $selectedTemplates = array();
foreach ($templates as $id => $template) {
    if (in_array($id, $filteredTemplates)) {
        $selectedTemplates[] = array($id, $template->getLabel());
    } else {
        $availableTemplates[] = array($id, $template->getLabel());
    }
}
$availableTemplates = sensitiveIO::jsonEncode($availableTemplates);
$selectedTemplates = sensitiveIO::jsonEncode($selectedTemplates);
//DEFINITION TAB
$rowDefinition = $rowDefinition ? $rowDefinition : '<row></row>';
$content = '<textarea id="row-definition-' . $rowId . '" style="display:none;">' . htmlspecialchars($rowDefinition) . '</textarea>';
$view->setContent($content);