XCL Web Application Platform 2.5.0
The XoopsCube Legacy Project
Loading...
Searching...
No Matches
install_updateAvatars_go.inc.php
1<?php
10
11unset( $xoopsOption['nocommon'] );
12
13include( '../mainfile.php' );
14echo '<h2>wizard/install_updateAvatars_go.inc</h2>';
15
16$content = '';
17$title = _INSTALL_L156;
18
19$avatars = getImageFileList( XOOPS_ROOT_PATH . '/images/avatar/users/' );
20
21$xoopsDB->query( 'UPDATE ' . $xoopsDB->prefix( 'users' ) . " SET user_avatar='blank.png'" ); // @TODO avatar image
22
23$avt_handler =& xoops_gethandler( 'avatar' );
24if ( ! defined( 'XOOPS_UPLOAD_PATH' ) ) {
25 define( 'XOOPS_UPLOAD_PATH', '../uploads' );
26}
27foreach ( $avatars as $avatar_file ) {
28 if ( preg_match( '/^([0-9]+)\\.([a-zA-Z]+)$/',
29 $avatar_file,
30 $matched ) ) {
31 $user_id = (int) $matched[1];
32 if ( ( $user_id > 0 ) && ( false !== $fp = fopen( '../images/avatar/users/' . $avatar_file, 'rb' ) ) ) {
33 $binary = fread( $fp, filesize( '../images/avatar/users/' . $avatar_file ) );
34 fclose( $fp );
35 $newavatar = uniqid( 'cavt', true ) . '.' . strtolower( $matched[2] );
36 if ( false !== $fp = fopen( XOOPS_UPLOAD_PATH . '/' . $newavatar, 'wb' ) ) {
37 if ( - 1 !== fwrite( $fp, $binary ) ) {
38 $error = false;
39 if ( ! $xoopsDB->query( 'UPDATE ' . $xoopsDB->prefix( 'users' ) . " SET user_avatar='" . $newavatar . "' WHERE uid=" . $user_id ) ) {
40 $error = true;
41 } else {
42 $avatar =& $avt_handler->create();
43 $avatar->setVar( 'avatar_file', $newavatar );
44 $avatar->setVar( 'avatar_name', 'custom' );
45 $avatar->setVar( 'avatar_mimetype', '' );
46 $avatar->setVar( 'avatar_display', 1 );
47 $avatar->setVar( 'avatar_type', 'C' );
48 if ( ! $avt_handler->insert( $avatar ) ) {
49 $error = true;
50 } else {
51 $avt_handler->addUser( $avatar->getVar( 'avatar_id' ), $user['uid'] );
52 }
53 }
54 if ( false !== $error ) {
55 $content .= _NGIMG . sprintf( _INSTALL_L153, $avatar_file ) . '<br>';
56 @unlink( XOOPS_UPLOAD_PATH . '/' . $newavatar );
57 } else {
58 $content .= _OKIMG . sprintf( _INSTALL_L154, $avatar_file ) . '<br>';
59 }
60 } else {
61 $content .= _NGIMG . sprintf( _INSTALL_L153, $avatar_file ) . '<br>';
62 $xoopsDB->query( 'UPDATE ' . $xoopsDB->prefix( 'users' ) . " SET user_avatar='blank.png' WHERE uid=" . $user_id );
63 }
64 fclose( $fp );
65 }
66 } else {
67 $content .= _NGIMG . sprintf( _INSTALL_L152, $avatar_file ) . '<br>';
68 }
69 }
70}
71
72$b_next = [ 'finish', _INSTALL_L14 ];
73
74include './install_tpl.php';