Exemplo n.º 1
0
function mediashare_external_pasteitem($args)
{
    // FIXME access check
    $albumId = mediashareGetIntUrl('aid', $args, 0);
    $mediaId = mediashareGetIntUrl('mid', $args, 0);
    $mode = FormUtil::getPassedValue('mode');
    if (isset($_POST['backButton'])) {
        return pnRedirect(pnModUrl('mediashare', 'external', 'finditem', array('aid' => $albumId, 'mid' => $mediaId, 'mode' => $mode)));
    }
    $mediaItem = pnModAPIFunc('mediashare', 'user', 'getMediaItem', array('mediaId' => $mediaId));
    /*
        if (!($handler = pnModAPIFunc('mediashare', 'mediahandler', 'loadHandler', array('handlerName' => $mediaItem['mediaHandler'])))) {
            return false;
        }
    */
    $render =& pnRender::getInstance('mediashare', false);
    mediashareExternalLoadTheme($render);
    $render->assign('albumId', $albumId);
    $render->assign('mediaId', $mediaId);
    $render->assign('mediaItem', $mediaItem);
    if ($mediaItem['mediaHandler'] != 'extapp') {
        $mediadir = pnModAPIFunc('mediashare', 'user', 'getRelativeMediadir');
        $render->assign('thumbnailUrl', $mediadir . $mediaItem['thumbnailRef']);
        $render->assign('previewUrl', $mediadir . $mediaItem['previewRef']);
        $render->assign('originalUrl', $mediadir . $mediaItem['originalRef']);
    } else {
        $render->assign('thumbnailUrl', "{$mediaItem['thumbnailRef']}");
        $render->assign('previewUrl', "{$mediaItem['previewRef']}");
        $render->assign('originalUrl', "{$mediaItem['originalRef']}");
    }
    $render->assign('mode', $mode);
    echo $render->fetch('mediashare_external_pasteitem.html');
    return true;
}
Exemplo n.º 2
0
function mediashareSourceBrowserUpload(&$args)
{
    if (!SecurityUtil::confirmAuthKey()) {
        return LogUtil::registerAuthidError();
    }
    $dom = ZLanguage::getModuleDomain('mediashare');
    $albumId = mediashareGetIntUrl('aid', $args, 0);
    // Check access
    if (!mediashareAccessAlbum($albumId, mediashareAccessRequirementAddMedia, '')) {
        return LogUtil::registerPermissionError();
    }
    // Get parent album information
    if (!($album = pnModAPIFunc('mediashare', 'user', 'getAlbum', array('albumId' => $albumId)))) {
        return false;
    }
    // Start fetching media items
    $imageNum = (int) FormUtil::getPassedValue('imagenum');
    $statusSet = array();
    for ($i = 1; $i <= $imageNum; ++$i) {
        $uploadInfo = $_FILES["upload{$i}"];
        $width = FormUtil::getPassedValue("width{$i}");
        $height = FormUtil::getPassedValue("height{$i}");
        if (isset($uploadInfo['error']) && $uploadInfo['error'] != 0 && $uploadInfo['name'] != '') {
            $statusSet[] = array('ok' => false, 'message' => $uploadInfo['name'] . ': ' . mediashareUploadErrorMsg($uploadInfo['error']));
        } else {
            if ($uploadInfo['size'] > 0) {
                $result = pnModAPIFunc('mediashare', 'source_browser', 'addMediaItem', array('albumId' => $albumId, 'uploadFilename' => $uploadInfo['tmp_name'], 'fileSize' => $uploadInfo['size'], 'filename' => $uploadInfo['name'], 'mimeType' => $uploadInfo['type'], 'title' => null, 'keywords' => null, 'description' => null, 'width' => $width, 'height' => $height));
                if ($result === false) {
                    $status = array('ok' => false, 'message' => LogUtil::getErrorMessagesText());
                } else {
                    $status = array('ok' => true, 'message' => $result['message'], 'mediaId' => $result['mediaId']);
                }
                $statusSet = array_merge($statusSet, array($status));
            }
        }
    }
    // Quick count of uploaded images + getting IDs for further editing
    $editMediaIds = array();
    $acceptedImageNum = 0;
    foreach ($statusSet as $status) {
        if ($status['ok']) {
            ++$acceptedImageNum;
            $editMediaIds[] = $status['mediaId'];
        }
    }
    $album['imageCount'] += $acceptedImageNum;
    // Update for showing only
    if ($acceptedImageNum == 0) {
        $statusSet[] = array('ok' => false, 'message' => __('No media items', $dom));
    }
    if (($items = pnModAPIFunc('mediashare', 'user', 'getMediaItems', array('mediaIdList' => $editMediaIds))) === false) {
        return false;
    }
    $render =& pnRender::getInstance('mediashare', false);
    $render->assign('statusSet', $statusSet);
    $render->assign('items', $items);
    return $render->fetch('mediashare_source_browser_uploadet.html');
}
Exemplo n.º 3
0
function mediashareSourceYoutubeSave(&$args)
{
    if (!SecurityUtil::confirmAuthKey()) {
        return LogUtil::registerAuthidError();
    }
    $dom = ZLanguage::getModuleDomain('mediashare');
    $albumId = mediashareGetIntUrl('aid', $args, 0);
    // Check access
    if (!mediashareAccessAlbum($albumId, mediashareAccessRequirementAddMedia, '')) {
        return LogUtil::registerPermissionError();
    }
    // Get parent album information
    if (!($album = pnModAPIFunc('mediashare', 'user', 'getAlbum', array('albumId' => $albumId)))) {
        return false;
    }
    // Start fetching media items
    $imageNum = (int) FormUtil::getPassedValue('imagenum');
    $statusSet = array();
    $args['albumId'] = $albumId;
    for ($i = 1; $i <= $imageNum; ++$i) {
        $videoytcode = FormUtil::getPassedValue("videoytcode{$i}");
        $args['width'] = FormUtil::getPassedValue("width{$i}");
        $args['height'] = FormUtil::getPassedValue("height{$i}");
        $result = mediashareSourceYoutubeAdd($videoytcode, $args);
        if ($result === false) {
            $status = array('ok' => false, 'message' => LogUtil::getErrorMessagesText());
        } else {
            $status = array('ok' => true, 'message' => $result['message'], 'mediaId' => $result['mediaId']);
        }
        $statusSet = array_merge($statusSet, array($status));
    }
    // Quick count of uploaded images + getting IDs for further editing
    $editMediaIds = array();
    $acceptedImageNum = 0;
    foreach ($statusSet as $status) {
        if ($status['ok']) {
            ++$acceptedImageNum;
            $editMediaIds[] = $status['mediaId'];
        }
    }
    $album['imageCount'] += $acceptedImageNum;
    // Update for showing only
    if ($acceptedImageNum == 0) {
        $statusSet[] = array('ok' => false, 'message' => __('No media items', $dom));
    }
    if (($items = pnModAPIFunc('mediashare', 'user', 'getMediaItems', array('mediaIdList' => $editMediaIds))) === false) {
        return false;
    }
    $render =& pnRender::getInstance('mediashare', false);
    $render->assign('statusSet', $statusSet);
    $render->assign('items', $items);
    return $render->fetch('mediashare_source_youtube_added.html');
}
Exemplo n.º 4
0
function mediashareSourceZipUpload(&$args)
{
    if (!SecurityUtil::confirmAuthKey()) {
        return LogUtil::registerAuthidError();
    }
    $dom = ZLanguage::getModuleDomain('mediashare');
    $albumId = mediashareGetIntUrl('aid', $args, 0);
    // Check access
    if (!mediashareAccessAlbum($albumId, mediashareAccessRequirementAddMedia, '')) {
        return LogUtil::registerPermissionError();
    }
    // Get parent album information
    if (!($album = pnModAPIFunc('mediashare', 'user', 'getAlbum', array('albumId' => $albumId)))) {
        return false;
    }
    // Start fetching media items
    $imageNum = (int) FormUtil::getPassedValue('imagenum');
    $statusSet = array();
    $args['albumId'] = $albumId;
    for ($i = 1; $i <= $imageNum; ++$i) {
        $uploadInfo = $_FILES["upload{$i}"];
        $args['width'] = FormUtil::getPassedValue("width{$i}");
        $args['height'] = FormUtil::getPassedValue("height{$i}");
        if (isset($uploadInfo['error']) && $uploadInfo['error'] != 0 && $uploadInfo['name'] != '') {
            $statusSet[] = array('ok' => false, 'message' => $uploadInfo['name'] . ': ' . mediashareUploadErrorMsg($uploadInfo['error']));
        } else {
            if ($uploadInfo['size'] > 0) {
                $zip = zip_open($uploadInfo['tmp_name']);
                if (!$zip) {
                    return LogUtil::registerError(__('Could not open the ZIP.', $dom));
                }
                while ($zipEntry = zip_read($zip)) {
                    //                  echo "Name:               ".zip_entry_name($zipEntry)."\n";
                    //                  echo "Actual Filesize:    ".zip_entry_filesize($zipEntry)."\n";
                    //                  echo "Compressed Size:    ".zip_entry_compressedsize($zipEntry)."\n";
                    //                  echo "Compression Method: ".zip_entry_compressionmethod($zipEntry)."\n";
                    //                  echo "<br>\n";
                    if (zip_entry_filesize($zipEntry) > 0) {
                        $result = mediashareSourceZipAddFile($zip, $zipEntry, $args);
                        if ($result === false) {
                            $status = array('ok' => false, 'message' => LogUtil::getErrorMessagesText());
                        } else {
                            $status = array('ok' => true, 'message' => $result['message'], 'mediaId' => $result['mediaId']);
                        }
                        $statusSet = array_merge($statusSet, array($status));
                    }
                }
                zip_close($zip);
            }
        }
    }
    // Quick count of uploaded images + getting IDs for further editing
    $editMediaIds = array();
    $acceptedImageNum = 0;
    foreach ($statusSet as $status) {
        if ($status['ok']) {
            ++$acceptedImageNum;
            $editMediaIds[] = $status['mediaId'];
        }
    }
    $album['imageCount'] += $acceptedImageNum;
    // Update for showing only
    if ($acceptedImageNum == 0) {
        $statusSet[] = array('ok' => false, 'message' => __('No media items', $dom));
    }
    if (($items = pnModAPIFunc('mediashare', 'user', 'getMediaItems', array('mediaIdList' => $editMediaIds))) === false) {
        return false;
    }
    $render =& pnRender::getInstance('mediashare', false);
    $render->assign('statusSet', $statusSet);
    $render->assign('items', $items);
    return $render->fetch('mediashare_source_zip_uploadet.html');
}
Exemplo n.º 5
0
/**
 * List
 */
function mediashare_user_list($args)
{
    $keyword = mediashareGetStringUrl('key', $args);
    $uname = mediashareGetStringUrl('uname', $args);
    $albumId = mediashareGetIntUrl('aid', $args, null);
    $order = mediashareGetStringUrl('order', $args, 'title');
    $orderDir = mediashareGetStringUrl('orderdir', $args);
    $recordPos = mediashareGetIntUrl('pos', $args, 0);
    $template = isset($args['tpl']) ? $args['tpl'] : 'list';
    if (!($items = pnModAPIFunc('mediashare', 'user', 'getList', compact('keyword', 'uname', 'albumId', 'order', 'orderDir', 'recordPos')))) {
        return false;
    }
    if (!($itemCount = pnModAPIFunc('mediashare', 'user', 'getListCount', compact('keyword', 'uname', 'albumId')))) {
        return false;
    }
    $dom = ZLanguage::getModuleDomain('mediashare');
    $filterTexts = array();
    if ($keyword != '') {
        $filterTexts[] = __f('Items tagged with "%s"', DataUtil::formatForDisplay($keyword), $dom);
    }
    if ($uname != '') {
        $filterTexts[] = __f('Items by %s', DataUtil::formatForDisplay($uname), $dom);
    }
    if ($albumId != null) {
        if (!($album = pnModAPIFunc('mediashare', 'user', 'getAlbum', array('albumId' => $albumId)))) {
            return false;
        }
        $albumOwner = pnUserGetVar('uname', $album['ownerId']);
        $filterTexts[] = __f('Items from %1$s\'s album \'%2$s\'', array(DataUtil::formatForDisplay($albumOwner), $album['title']), $dom);
    }
    if (count($filterTexts)) {
        $filterText = implode(', ', $filterTexts);
    } else {
        $filterText = __('All items', $dom);
    }
    // Build the output
    $render =& pnRender::getInstance('mediashare', false);
    $render->assign('keyword', $keyword);
    $render->assign('items', $items);
    $render->assign('itemCount', $itemCount);
    $render->assign('order', $order);
    $render->assign('filterText', $filterText);
    $render->assign('orderTitleClass', $order == 'title' ? ' class="selected"' : '');
    $render->assign('orderUnameClass', $order == 'uname' ? ' class="selected"' : '');
    $render->assign('orderCreatedClass', $order == 'created' ? ' class="selected"' : '');
    $render->assign('orderModifiedClass', $order == 'modified' ? ' class="selected"' : '');
    $render->assign('pos', $recordPos);
    $template = DataUtil::formatForOS($template);
    if (!$render->template_exists("mediashare_user_{$template}.html")) {
        $template = 'list';
    }
    return $render->fetch("mediashare_user_{$template}.html");
}
Exemplo n.º 6
0
function mediashare_invitation_list($args)
{
    $albumId = mediashareGetIntUrl('aid', $args, 1);
    // Check access
    if (!mediashareAccessAlbum($albumId, mediashareAccessRequirementEditAccess, '')) {
        return LogUtil::registerPermissionError();
    }
    if (isset($_POST['expireButton'])) {
        return mediashareExpireInvitations($args);
    } else {
        if (isset($_POST['deleteButton'])) {
            return mediashareDeleteInvitations($args);
        }
    }
    if (!($album = pnModAPIFunc('mediashare', 'user', 'getAlbum', array('albumId' => $albumId)))) {
        return false;
    }
    if (!($invitations = pnModAPIFunc('mediashare', 'invitation', 'getInvitations', array('albumId' => $albumId)))) {
        return false;
    }
    $render =& pnRender::getInstance('mediashare', false);
    $render->assign('album', $album);
    $render->assign('invitations', $invitations);
    $render->assign('accessSelected', 0);
    $render->assign('sendSelected', 0);
    $render->assign('listSelected', 1);
    return $render->fetch('mediashare_invitation_list.html');
}
Exemplo n.º 7
0
function mediashareUpdateAccess($args)
{
    if (!SecurityUtil::confirmAuthKey()) {
        return LogUtil::registerAuthidError();
    }
    $albumId = mediashareGetIntUrl('aid', $args, 1);
    if (!($groups = pnModAPIFunc('mediashare', 'edit', 'getAccessGroups'))) {
        return false;
    }
    $access = array();
    foreach ($groups as $group) {
        $accessView = FormUtil::getPassedValue('accessView' . $group['groupId']) != null;
        $accessEditAlbum = FormUtil::getPassedValue('accessEditAlbum' . $group['groupId']) != null;
        $accessEditMedia = FormUtil::getPassedValue('accessEditMedia' . $group['groupId']) != null;
        $accessAddAlbum = FormUtil::getPassedValue('accessAddAlbum' . $group['groupId']) != null;
        $accessAddMedia = FormUtil::getPassedValue('accessAddMedia' . $group['groupId']) != null;
        $access[] = array('groupId' => $group['groupId'], 'accessView' => $accessView, 'accessEditAlbum' => $accessEditAlbum, 'accessEditMedia' => $accessEditMedia, 'accessAddAlbum' => $accessAddAlbum, 'accessAddMedia' => $accessAddMedia);
    }
    if (!pnModAPIFunc('mediashare', 'edit', 'updateAccessSettings', array('albumId' => $albumId, 'access' => $access))) {
        return false;
    }
    return pnRedirect(pnModURL('mediashare', 'edit', 'view', array('aid' => $albumId)));
}
Exemplo n.º 8
0
function mediashare_admin_recalcitem()
{
    if (!SecurityUtil::checkPermission('mediashare::', '::', ACCESS_ADMIN)) {
        return LogUtil::registerPermissionError();
    }
    $mediaId = mediashareGetIntUrl('id');
    if (!pnModAPIFunc('mediashare', 'edit', 'recalcItem', array('mediaId' => $mediaId))) {
        return false;
    }
    if (!($mediaItem = pnModAPIFunc('mediashare', 'user', 'getMediaItem', array('mediaId' => $mediaId)))) {
        return false;
    }
    $render =& pnRender::getInstance('mediashare', false);
    $render->assign('item', $mediaItem);
    $render->display('mediashare_admin_recalcitem.html');
    return true;
}