• 2421阅读
  • 112回复

修改上传照片链接批量上传为普通上传(群组设置) [复制链接] [手机版]

上一主题 下一主题
离线zhangjingyu

只看该作者 78楼 发表于: 2023-06-26 11:21:57 星期一  点亮(0)
刚把手机网络打开,还没看手机呢。听会儿小说,干活吧。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 79楼 发表于: 2023-12-16 23:37:12 星期六  点亮(0)
上传照片时,上传一张,总数增加2张,翻倍,研究了几个小时也不知道怎么回事。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 80楼 发表于: 2023-12-16 23:40:47 星期六  点亮(0)
m_galbum.php文件部分代码:

} elseif ($a == 'upload') {

    if (!$ifadmin && !$colony['ifFullMember']) {
        Showmsg('colony_cnmenber');
    }
    banUser();
    S::gp(array('aid', 'job'));

    $tmpActionUrl .= '&a=upload' . ($job ? '&job=' . $job : '') . '&aid=' . $aid;

    if (empty($_POST['step'])) {

        $extra_url = $options = '';
        $count = $db->get_value("SELECT COUNT(*) AS count FROM pw_cnalbum WHERE atype='1' AND ownerid=" . S::sqlEscape($cyid));
        if (empty($count) && $ifadmin) {
            $db->update("INSERT INTO pw_cnalbum SET " . S::sqlSingle(array(
                'aname'        => '默认相册',        'aintro'    => '',
                'atype'        => 1,                'private'    => 0,
                'ownerid'    => $cyid,            'owner'        => $colony['cname'],
                'lasttime'    => $timestamp,        'crtime'    => $timestamp,
                'memopen'   => 1
            )));
            //* $db->update("UPDATE pw_colonys SET albumnum=albumnum+1 WHERE id=" . S::sqlEscape($cyid));
            pwQuery::update('pw_colonys', 'id=:id', array($cyid), null, array(PW_EXPR=>array('albumnum=albumnum+1')));
        }
        $query = $db->query("SELECT aid,aname,memopen FROM pw_cnalbum WHERE atype='1' AND ownerid=" . S::sqlEscape($cyid) . ' ORDER BY aid DESC');
        while ($rt = $db->fetch_array($query)) {
            if ($ifadmin || ($colony['ifFullMember'] && $rt['memopen'] == 1)) {
                $memopen = 1;
            } else {
                $memopen = 0;
            }
            if ($memopen == 1) {
                $options .= "<option value=\"$rt[aid]\"" . (($aid && $rt['aid'] == $aid) ? ' selected' : '') . ">$rt[aname]</option>";
            }
        }
        !empty($options) && $uploadAvailable = true;
        //(empty($options)) && $options="<option value=\"38\">默认分类</option>";
        $aid && $extra_url = '&aid=' . $aid;
        list($isheader,$isfooter,$tplname,$isleft) = array(false,true,"m_galbum",true);

    } else {

        S::gp(array('pintro'),'P');
        !$aid && Showmsg('colony_albumclass');

        PostCheck(1,$o_photos_gdcheck,$o_photos_qcheck && $db_question);
        empty($pintro) && $pintro = array();

        require_once(R_P.'require/bbscode.php');
        $wordsfb = L::loadClass('FilterUtil', 'filter');
        foreach ($pintro as $k => $v) {
            if (($banword = $wordsfb->comprise($v)) !== false) {
                Showmsg('content_wordsfb');
            }
        }
        $rt = $db->get_one("SELECT aname,photonum,ownerid,lastphoto,memopen,private FROM pw_cnalbum WHERE atype='1' AND aid=" . S::sqlEscape($aid));
        if (empty($rt)) {
            Showmsg('undefined_action');
        } elseif ($cyid <> $rt['ownerid']) {
            Showmsg('colony_phototype');
        } elseif ($rt['memopen']==0 && !$ifadmin) {
            Showmsg('colony_album_memopen');
        }
        $groupRight['maxphotonum'] && $rt['photonum'] >= $groupRight['maxphotonum'] && Showmsg('colony_photofull');
        L::loadClass('photoupload', 'upload', false);
        if ($groupRight['maxphotonum'] && $rt['photonum'] + PwUpload::getUploadNum() > $groupRight['maxphotonum']) {
            $uploadlimit = $groupRight['maxphotonum'] - $rt['photonum'];
            $uploadlimit = $uploadlimit > 0 ? $uploadlimit : 0;
            Showmsg('uploadphoto_leave');
        }
        $img = new PhotoUpload($aid);
        PwUpload::upload($img);
        pwFtpClose($ftp);

        if (!$photos = $img->getAttachs()) {
            Showmsg('colony_uploadnull');
        }
        $photoNum = count($photos);
        $pid = $img->getNewID();
        $lastpid = getLastPid($aid, 4);
        array_unshift($lastpid, $pid);

        $db->update("UPDATE pw_cnalbum SET photonum=photonum+" . S::sqlEscape($photoNum) . ",lasttime=" . S::sqlEscape($timestamp) . ',lastpid=' . S::sqlEscape(implode(',',$lastpid)) . (!$rt['lastphoto'] ? ',lastphoto='.S::sqlEscape($img->getLastPhoto()) : '') . " WHERE aid=" . S::sqlEscape($aid));
        //countPosts("+$photoNum");

        require_once(R_P.'apps/groups/lib/group.class.php');
        $colony = getGroupByCyid($cyid);

        //* $db->update("UPDATE pw_colonys SET photonum=photonum+" . S::sqlEscape($photoNum) . " WHERE id=" . S::sqlEscape($cyid));
        $db->update(pwQuery::buildClause("UPDATE :pw_table SET photonum=photonum+:photonum WHERE id=:id", array('pw_colonys', $photoNum, $cyid)));

        $colony['photonum']+=$photoNum;
        updateGroupLevel($colony['id'], $colony);
        if(!$rt['private']){
            $weiboPhotos = array();
            $tmpid = $pid;
            foreach ($photos as $value) {
                $value['pid'] = $tmpid;
                $tmpid++;
                $weiboPhotos[] = $value;
            }
            $weiboService = L::loadClass('weibo','sns');/* @var $weiboService PW_Weibo */
            $objId = count($photos) > 1 ? 0 : $pid;
            $weiboExtra = array(
                            'cyid' => $cyid,
                            'aid'  => $aid,
                            'photos'=> $weiboPhotos,
                            'cname'    => $colony['cname'],
                            'aname' => $rt['aname'],
                        );
            $weiboService->send($winduid,'','group_photos',$objId,$weiboExtra);
        }

        //积分变动
        require_once(R_P.'require/credit.php');
        $creditset = getCreditset($o_groups_creditset['Uploadphoto']);
        $creditset = array_diff($creditset,array(0));
        if (!empty($creditset)) {
            $credit->sets($winduid,$creditset,true);
            updateMemberid($winduid);
            addLog($creditlog,$windid,$winduid,'groups_Uploadphoto');
        }

        if ($creditlog = $o_groups_creditlog) {
            addLog($creditlog['Post'],$windid,$winduid,'groups_Uploadphoto');
        }
        refreshto("{$basename}a=view&cyid=$cyid&pid=$pid",'operate_success');
    }
} elseif ($a == 'selalbum') {
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 81楼 发表于: 2023-12-16 23:42:55 星期六  点亮(0)
问题在这个“上传”部分的代码里吗?看了半天没看出来哪里有问题啊。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 82楼 发表于: 2023-12-17 00:01:00 星期日  点亮(0)
$db->update("UPDATE pw_cnalbum SET photonum=photonum+" . S::sqlEscape($photoNum) . ",lasttime=" . S::sqlEscape($timestamp) . ',lastpid=' . S::sqlEscape(implode(',',$lastpid)) . (!$rt['lastphoto'] ? ',lastphoto='.S::sqlEscape($img->getLastPhoto()) : '') . " WHERE aid=" . S::sqlEscape($aid));

这个应该是更新语句。这里面的 photonum=photonum+" . S::sqlEscape($photoNum) . "不知道为什么有问题?其实,pw_cnphoto数据表里面的照片信息是准确,如果把它里面的个数统计出来,更新到上面的pw_cnalbum表里,那就没有任何问题。这也是一个解决思路吧,有时间了测试下是不是这个更新语句。今天太晚了,明天得上两个班,因为后天阳阳结婚,得请假。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 83楼 发表于: 2024-01-06 20:15:27 星期六  点亮(0)
相册中明明有照片,却还是会在照片列表后面(第二页)提示“暂无照片,我来第一个上传照片吧!”, 很不能理解,这是什么逻辑?经测试,共有3个文件包含上述提示内容:apps/groups/template/m_galbum.htm对应群组视图里面的相册,template/wind/thread_galbum.htm对应论坛视图里面的相册,apps/groups/template/m_index_model.htm不知道对应哪个页面(这个文件应该是群组首页)。本地测试修改前面提到的第一个文件,初步取得成果。后来想到,相册里面的照片数实现上是根本不准确的,于是打开数据库管理软件,修改相册照片数为准确的数量,结果……结果是,论坛视图下那个提示也没有了!原来,一切的根源,还是在相册照片数不准确这个问题上而不是什么逻辑问题。也就是说论坛文件基本上没有问题。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 84楼 发表于: 2024-01-06 20:23:42 星期六  点亮(0)
相册列表下面的“共 25 张照片”,这里面的“25”,也就是相册照片数有的是不准确的,就像前面的帖子中提到的,明明上传了一张照片,却涨了2个。本来都想过把这部分的说明删除了,因为不准确啊,可现在问题又归一到一个问题:如何把相册照片数更新为准确的数量。这个问题解决了,前面的问题自然而然的就都不存在了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 85楼 发表于: 2024-01-06 23:29:08 星期六  点亮(0)
想通过搜索写一个php文件,把数据库中群组相册ID、名称、照片数量等可视化呈现出来,以方便查看。可研究了几个小时,楞是没成功。哎!也许,只能直接用穷举法,把所有群组相册照片数从pw_cnphoto查询出来,然后更新到pw_cnalbum中了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 86楼 发表于: 2024-01-07 00:36:12 星期日  点亮(0)
这大冷天在电脑前坐了好几个小时,炉子没点,嫌空调不暖和也没开,够可以的吧。实在冷了,就用吹风机吹盘在椅子上的双脚。可惜,前面提到的问题没能解决。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 87楼 发表于: 2024-01-07 15:42:53 星期日  点亮(0)
恭喜你,操作成功!群组现有相册2个,请注意核对本文件更新语句数量(现有2条)。
别等了,点击进入论坛吧!
这是执行结果,目前先这样吧,算是手动执行解决基本问题。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!