Example #1
0
/**
 * Keywords update
 */
function mediashare_editapi_updateKeywords($args)
{
    $dom = ZLanguage::getModuleDomain('mediashare');
    $itemId = (int) $args['itemId'];
    $type = DataUtil::formatForStore($args['type']);
    $keywords = mediashareStripKeywords($args['keywords']);
    $pntable = pnDBGetTables();
    $keywordsColumn = $pntable['mediashare_keywords_column'];
    // First remove existing keywords
    $where = "{$keywordsColumn['itemId']} = '{$itemId}' AND {$keywordsColumn['type']} = '{$type}'";
    $result = DBUtil::deleteWhere('mediashare_keywords', $where);
    if ($result === false) {
        return LogUtil::registerError(__f('Error in %1$s: %2$s.', array('editapi.updateKeywords', 'Could not update the keywords.'), $dom));
    }
    // Split keywords string into keywords array
    $keywordsArray = preg_split('/[\\s,]+/', $keywords);
    // Insert new keywords
    $keywordsArray = array_filter($keywordsArray);
    // strip empty keywords
    foreach ($keywordsArray as $keyword) {
        $keyword = array('itemId' => $itemId, 'type' => $type, 'keyword' => $keyword);
        $keyword = DBUtil::insertObject($keyword, 'mediashare_keywords', 'itemId');
        if ($keyword === false) {
            return LogUtil::registerError(__f('Error in %1$s: %2$s.', array('editapi.updateKeywords', 'Could not insert the keywords.'), $dom));
        }
    }
    return true;
}
Example #2
0
/**
 * Keywords
 */
function mediashareAddKeywords(&$item)
{
    $k = trim(mediashareStripKeywords($item['keywords']));
    if (strlen($k) > 0) {
        $item['keywordsArray'] = preg_split("/[\\s,]+/", $k);
        $item['hasKeywords'] = true;
    } else {
        $item['keywordsArray'] = array();
        $item['hasKeywords'] = false;
    }
}