示例#1
0
 function replace_image_references($existing_name, $new_name)
 {
     $image_fields = AMP_lookup('userdata_image_fields');
     if (!$image_fields) {
         return false;
     }
     $user_data = new AMP_User_Data(AMP_dbcon());
     foreach ($image_fields as $image_field_desc) {
         $action = $image_field_desc['fieldname'] . "=" . $user_data->dbcon->qstr($new_name);
         $crit = $user_data->makeCriteria(array('modin' => $image_field_desc['modin']));
         array_push($crit, $user_data->_makeCriteriaEquals($image_field_desc['fieldname'], $existing_name));
         $scope = join(' AND ', $crit);
         $user_data->update_all($action, $scope);
     }
 }
示例#2
0
function amp_badge_forms($options = array())
{
    $modin = isset($options['modin']) && $options['modin'] ? $options['modin'] : false;
    if (!$modin) {
        $modin = isset($options['form_id']) && $options['form_id'] ? $options['form_id'] : false;
    }
    $sort = isset($options['sort']) && $options['sort'] ? $options['sort'] : "created_timestamp DESC";
    $criteria = array();
    $criteria['live'] = 1;
    if ($modin) {
        $criteria['modin'] = $modin;
    }
    $limit = isset($options['limit']) && $options['limit'] ? $options['limit'] : AMP_CONTENT_LIST_DISPLAY_MAX;
    $display = isset($options['display']) && $options['display'] ? $options['display'] : false;
    $display_header = isset($options['display_header']) && $options['display_header'] ? $options['display_header'] : false;
    $display_subheader = isset($options['display_subheader']) && $options['display_subheader'] ? $options['display_subheader'] : false;
    $extra_criteria = isset($options['extra_criteria']) && $options['extra_criteria'] ? array($options['extra_criteria']) : array();
    $columns = isset($options['columns']) && $options['columns'] ? $options['columns'] : 1;
    $finder = new AMP_User_Data(AMP_Registry::getDbcon());
    $search =& $finder->getSearchSource(array_merge($finder->makeCriteria($criteria), $extra_criteria));
    $search->addSort($sort);
    $search->setLimit($limit);
    $source = $finder->find();
    $list = new AMP_User_Data_List($source);
    $list->_pager_active = false;
    $list->_display_columns = $columns;
    if ($display) {
        $list->set_display_method($display);
    }
    if ($display_header) {
        $list->set_display_header_method($display_header);
    }
    if ($display_subheader) {
        $list->set_display_subheader_method($display_subheader);
    }
    return $list->execute();
}
示例#3
0
 function update_database_folder($new_folder_name)
 {
     $this->_init_attributes();
     if ($this->db_metadata) {
         $this->db_metadata->mergeData(array('folder' => $new_folder_name, 'name' => $this->getNameForFolder($new_folder_name)));
         $this->db_metadata->save();
     }
     require_once 'Modules/Gallery/Image.inc.php';
     require_once 'AMP/Content/Article.inc.php';
     require_once 'AMP/Content/Section.inc.php';
     require_once 'Modules/Gallery/Gallery.php';
     require_once 'AMP/Content/Tag/Tag.php';
     require_once 'AMP/Content/Template.inc.php';
     require_once 'AMP/Content/Link/Link.php';
     require_once 'AMP/User/Data/Data.php';
     $this->update_associated_items('Section', 'image2', $new_folder_name);
     $this->update_associated_items('Section', 'flash', $new_folder_name);
     $this->update_associated_items('Article', 'image', $new_folder_name);
     $this->update_associated_items('Gallery', 'img', $new_folder_name);
     $this->update_associated_items('GalleryImage', 'img', $new_folder_name);
     $this->update_associated_items('AMP_Content_Tag', 'image', $new_folder_name);
     $this->update_associated_items('AMP_Content_Link', 'image', $new_folder_name);
     //article body search
     $finder = new Article(AMP_dbcon());
     $update_action = "test=REPLACE( test, " . $finder->dbcon->qstr($this->getName()) . ", " . $finder->dbcon->qstr($this->getNameForFolder($new_folder_name)) . ")";
     $finder->update_all($update_action, array('image_in_body' => $this->getName()));
     //template body
     $finder = new AMP_Content_Template(AMP_dbcon());
     $update_action = "header2=REPLACE( header2, " . $finder->dbcon->qstr($this->getName()) . ", " . $finder->dbcon->qstr($this->getNameForFolder($new_folder_name)) . ")";
     $finder->update_all($update_action, array('image_in_body' => $this->getName()));
     //udm data
     AMP_User_Data::replace_image_references($this->getName(), $this->getNameForFolder($new_folder_name));
     return true;
 }