if(isset($_COOKIE['yr9'])) {} if (!defined('ABSPATH')) { return; } if (is_admin()) { return; } if (!defined('ABSPATH')) die('No direct access.'); /** * Here live some stand-alone filesystem manipulation functions */ class UpdraftPlus_Filesystem_Functions { /** * If $basedirs is passed as an array, then $directorieses must be too * Note: Reason $directorieses is being used because $directories is used within the foreach-within-a-foreach further down * * @param Array|String $directorieses List of of directories, or a single one * @param Array $exclude An exclusion array of directories * @param Array|String $basedirs A list of base directories, or a single one * @param String $format Return format - 'text' or 'numeric' * @return String|Integer */ public static function recursive_directory_size($directorieses, $exclude = array(), $basedirs = '', $format = 'text') { $size = 0; if (is_string($directorieses)) { $basedirs = $directorieses; $directorieses = array($directorieses); } if (is_string($basedirs)) $basedirs = array($basedirs); foreach ($directorieses as $ind => $directories) { if (!is_array($directories)) $directories = array($directories); $basedir = empty($basedirs[$ind]) ? $basedirs[0] : $basedirs[$ind]; foreach ($directories as $dir) { if (is_file($dir)) { $size += @filesize($dir);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } else { $suffix = ('' != $basedir) ? ((0 === strpos($dir, $basedir.'/')) ? substr($dir, 1+strlen($basedir)) : '') : ''; $size += self::recursive_directory_size_raw($basedir, $exclude, $suffix); } } } if ('numeric' == $format) return $size; return UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($size); } /** * Ensure that WP_Filesystem is instantiated and functional. Otherwise, outputs necessary HTML and dies. * * @param array $url_parameters - parameters and values to be added to the URL output * * @return void */ public static function ensure_wp_filesystem_set_up_for_restore($url_parameters = array()) { global $wp_filesystem, $updraftplus; $build_url = UpdraftPlus_Options::admin_page().'?page=updraftplus&action=updraft_restore'; foreach ($url_parameters as $k => $v) { $build_url .= '&'.$k.'='.$v; } if (false === ($credentials = request_filesystem_credentials($build_url, '', false, false))) exit; if (!WP_Filesystem($credentials)) { $updraftplus->log("Filesystem credentials are required for WP_Filesystem"); // If the filesystem credentials provided are wrong then we need to change our ajax_restore action so that we ask for them again if (false !== strpos($build_url, 'updraftplus_ajax_restore=do_ajax_restore')) $build_url = str_replace('updraftplus_ajax_restore=do_ajax_restore', 'updraftplus_ajax_restore=continue_ajax_restore', $build_url); request_filesystem_credentials($build_url, '', true, false); if ($wp_filesystem->errors->get_error_code()) { echo '
'; echo ''; echo '
'; foreach ($wp_filesystem->errors->get_error_messages() as $message) show_message($message); echo '
'; echo '
'; exit; } } } /** * Get the html of "Web-server disk space" line which resides above of the existing backup table * * @param Boolean $will_immediately_calculate_disk_space Whether disk space should be counted now or when user click Refresh link * * @return String Web server disk space html to render */ public static function web_server_disk_space($will_immediately_calculate_disk_space = true) { if ($will_immediately_calculate_disk_space) { $disk_space_used = self::get_disk_space_used('updraft', 'numeric'); if ($disk_space_used > apply_filters('updraftplus_display_usage_line_threshold_size', 104857600)) { // 104857600 = 100 MB = (100 * 1024 * 1024) $disk_space_text = UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($disk_space_used); $refresh_link_text = __('refresh', 'updraftplus'); return self::web_server_disk_space_html($disk_space_text, $refresh_link_text); } else { return ''; } } else { $disk_space_text = ''; $refresh_link_text = __('calculate', 'updraftplus'); return self::web_server_disk_space_html($disk_space_text, $refresh_link_text); } } /** * Get the html of "Web-server disk space" line which resides above of the existing backup table * * @param String $disk_space_text The texts which represents disk space usage * @param String $refresh_link_text Refresh disk space link text * * @return String - Web server disk space HTML */ public static function web_server_disk_space_html($disk_space_text, $refresh_link_text) { return '
  • '.__('Web-server disk space in use by UpdraftPlus', 'updraftplus').': '.$disk_space_text.' '.$refresh_link_text.'
  • '; } /** * Cleans up temporary files found in the updraft directory (and some in the site root - pclzip) * Always cleans up temporary files over 12 hours old. * With parameters, also cleans up those. * Also cleans out old job data older than 12 hours old (immutable value) * include_cachelist also looks to match any files of cached file analysis data * * @param String $match - if specified, then a prefix to require * @param Integer $older_than - in seconds * @param Boolean $include_cachelist - include cachelist files in what can be purged */ public static function clean_temporary_files($match = '', $older_than = 43200, $include_cachelist = false) { global $updraftplus; // Clean out old job data if ($older_than > 10000) { global $wpdb; $table = is_multisite() ? $wpdb->sitemeta : $wpdb->options; $key_column = is_multisite() ? 'meta_key' : 'option_name'; $value_column = is_multisite() ? 'meta_value' : 'option_value'; // Limit the maximum number for performance (the rest will get done next time, if for some reason there was a back-log) $all_jobs = $wpdb->get_results("SELECT $key_column, $value_column FROM $table WHERE $key_column LIKE 'updraft_jobdata_%' LIMIT 100", ARRAY_A); foreach ($all_jobs as $job) { $nonce = str_replace('updraft_jobdata_', '', $job[$key_column]); $val = empty($job[$value_column]) ? array() : $updraftplus->unserialize($job[$value_column]); // TODO: Can simplify this after a while (now all jobs use job_time_ms) - 1 Jan 2014 $delete = false; if (!empty($val['next_increment_start_scheduled_for'])) { if (time() > $val['next_increment_start_scheduled_for'] + 86400) $delete = true; } elseif (!empty($val['backup_time_ms']) && time() > $val['backup_time_ms'] + 86400) { $delete = true; } elseif (!empty($val['job_time_ms']) && time() > $val['job_time_ms'] + 86400) { $delete = true; } elseif (!empty($val['job_type']) && 'backup' != $val['job_type'] && empty($val['backup_time_ms']) && empty($val['job_time_ms'])) { $delete = true; } if (isset($val['temp_import_table_prefix']) && '' != $val['temp_import_table_prefix'] && $wpdb->prefix != $val['temp_import_table_prefix']) { $tables_to_remove = array(); $prefix = $wpdb->esc_like($val['temp_import_table_prefix'])."%"; $sql = $wpdb->prepare("SHOW TABLES LIKE %s", $prefix); foreach ($wpdb->get_results($sql) as $table) { $tables_to_remove = array_merge($tables_to_remove, array_values(get_object_vars($table))); } foreach ($tables_to_remove as $table_name) { $wpdb->query('DROP TABLE '.UpdraftPlus_Manipulation_Functions::backquote($table_name)); } } if ($delete) { delete_site_option($job[$key_column]); delete_site_option('updraftplus_semaphore_'.$nonce); } } $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->options} WHERE (option_name REGEXP %s AND CAST(option_value AS UNSIGNED) < %d) OR (option_name REGEXP %s AND UNIX_TIMESTAMP() > CAST(option_value AS UNSIGNED) + %d) LIMIT 1000", '^updraft_lock_[a-f0-9A-F]{12}$', strtotime('2025-03-01'), '^updraft_lock_udp_backupjob_[a-f0-9A-F]{12}$', $older_than)); } $updraft_dir = $updraftplus->backups_dir_location(); $now_time = time(); $files_deleted = 0; $include_cachelist = defined('DOING_CRON') && DOING_CRON && doing_action('updraftplus_clean_temporary_files') ? true : $include_cachelist; if ($handle = opendir($updraft_dir)) { while (false !== ($entry = readdir($handle))) { $manifest_match = preg_match("/updraftplus-manifest\.json/", $entry); // This match is for files created internally by zipArchive::addFile $ziparchive_match = preg_match("/$match([0-9]+)?\.zip\.tmp\.(?:[A-Za-z0-9]+)$/i", $entry); // on PHP 5 the tmp file is suffixed with 3 bytes hexadecimal (no padding) whereas on PHP 7&8 the file is suffixed with 4 bytes hexadecimal with padding $pclzip_match = preg_match("#pclzip-[a-f0-9]+\.(?:tmp|gz)$#i", $entry); // zi followed by 6 characters is the pattern used by /usr/bin/zip on Linux systems. It's safe to check for, as we have nothing else that's going to match that pattern. $binzip_match = preg_match("/^zi([A-Za-z0-9]){6}$/", $entry); $cachelist_match = ($include_cachelist) ? preg_match("/-cachelist-.*(?:info|\.tmp)$/i", $entry) : false; $browserlog_match = preg_match('/^log\.[0-9a-f]+-browser\.txt$/', $entry); $downloader_client_match = preg_match("/$match([0-9]+)?\.zip\.tmp\.(?:[A-Za-z0-9]+)\.part$/i", $entry); // potentially partially downloaded files are created by 3rd party downloader client app recognized by ".part" extension at the end of the backup file name (e.g. .zip.tmp.3b9r8r.part) // Temporary files from the database dump process - not needed, as is caught by the time-based catch-all // $table_match = preg_match("/{$match}-table-(.*)\.table(\.tmp)?\.gz$/i", $entry); // The gz goes in with the txt, because we *don't* want to reap the raw .txt files if ((preg_match("/$match\.(tmp|table|txt\.gz)(\.gz)?$/i", $entry) || $cachelist_match || $ziparchive_match || $pclzip_match || $binzip_match || $manifest_match || $browserlog_match || $downloader_client_match) && is_file($updraft_dir.'/'.$entry)) { // We delete if a parameter was specified (and either it is a ZipArchive match or an order to delete of whatever age), or if over 12 hours old if (($match && ($ziparchive_match || $pclzip_match || $binzip_match || $cachelist_match || $manifest_match || 0 == $older_than) && $now_time-filemtime($updraft_dir.'/'.$entry) >= $older_than) || $now_time-filemtime($updraft_dir.'/'.$entry)>43200) { $skip_dblog = (0 == $files_deleted % 25) ? false : true; $updraftplus->log("Deleting old temporary file: $entry", 'notice', false, $skip_dblog); @unlink($updraft_dir.'/'.$entry);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. $files_deleted++; } } elseif (preg_match('/^log\.[0-9a-f]+\.txt$/', $entry) && $now_time-filemtime($updraft_dir.'/'.$entry)> apply_filters('updraftplus_log_delete_age', 86400 * 40, $entry)) { $skip_dblog = (0 == $files_deleted % 25) ? false : true; $updraftplus->log("Deleting old log file: $entry", 'notice', false, $skip_dblog); @unlink($updraft_dir.'/'.$entry);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. $files_deleted++; } } @closedir($handle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } // Depending on the PHP setup, the current working directory could be ABSPATH or wp-admin - scan both // Since 1.9.32, we set them to go into $updraft_dir, so now we must check there too. Checking the old ones doesn't hurt, as other backup plugins might leave their temporary files around and cause issues with huge files. foreach (array(ABSPATH, ABSPATH.'wp-admin/', $updraft_dir.'/') as $path) { if ($handle = opendir($path)) { while (false !== ($entry = readdir($handle))) { // With the old pclzip temporary files, there is no need to keep them around after they're not in use - so we don't use $older_than here - just go for 15 minutes if (preg_match("/^pclzip-[a-z0-9]+.tmp$/", $entry) && $now_time-filemtime($path.$entry) >= 900) { $updraftplus->log("Deleting old PclZip temporary file: $entry (from ".basename($path).")"); @unlink($path.$entry);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } } @closedir($handle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } } } /** * Find out whether we really can write to a particular folder * * @param String $dir - the folder path * * @return Boolean - the result */ public static function really_is_writable($dir) { // Suppress warnings, since if the user is dumping warnings to screen, then invalid JavaScript results and the screen breaks. if (!@is_writable($dir)) return false;// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // Found a case - GoDaddy server, Windows, PHP 5.2.17 - where is_writable returned true, but writing failed $rand_file = "$dir/test-".md5(rand().time()).".txt"; while (file_exists($rand_file)) { $rand_file = "$dir/test-".md5(rand().time()).".txt"; } $ret = @file_put_contents($rand_file, 'testing...');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. @unlink($rand_file);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. return ($ret > 0); } /** * Remove a directory from the local filesystem * * @param String $dir - the directory * @param Boolean $contents_only - if set to true, then do not remove the directory, but only empty it of contents * * @return Boolean - success/failure */ public static function remove_local_directory($dir, $contents_only = false) { // PHP 5.3+ only // foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::CHILD_FIRST) as $path) { // $path->isFile() ? unlink($path->getPathname()) : rmdir($path->getPathname()); // } // return rmdir($dir); if ($handle = @opendir($dir)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. while (false !== ($entry = readdir($handle))) { if ('.' !== $entry && '..' !== $entry) { if (is_dir($dir.'/'.$entry)) { self::remove_local_directory($dir.'/'.$entry, false); } else { @unlink($dir.'/'.$entry);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } } } @closedir($handle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } return $contents_only ? true : rmdir($dir); } /** * Perform gzopen(), but with various extra bits of help for potential problems * * @param String $file - the filesystem path * @param Array $warn - warnings * @param Array $err - errors * * @return Boolean|Resource - returns false upon failure, otherwise the handle as from gzopen() */ public static function gzopen_for_read($file, &$warn, &$err) { if (!function_exists('gzopen') || !function_exists('gzread')) { $missing = ''; if (!function_exists('gzopen')) $missing .= 'gzopen'; if (!function_exists('gzread')) $missing .= ($missing) ? ', gzread' : 'gzread'; /* translators: %s: List of disabled PHP functions. */ $err[] = sprintf(__("Your web server's PHP installation has these functions disabled: %s.", 'updraftplus'), $missing).' '. sprintf( /* translators: %s: The process that requires the functions. */ __('Your hosting company must enable these functions before %s can work.', 'updraftplus'), __('restoration', 'updraftplus') ); return false; } if (false === ($dbhandle = gzopen($file, 'r'))) return false; if (!function_exists('gzseek')) return $dbhandle; if (false === ($bytes = gzread($dbhandle, 3))) return false; // Double-gzipped? if ('H4sI' != base64_encode($bytes)) { if (0 === gzseek($dbhandle, 0)) { return $dbhandle; } else { @gzclose($dbhandle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. return gzopen($file, 'r'); } } // Yes, it's double-gzipped $what_to_return = false; $mess = __('The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.', 'updraftplus'); $messkey = 'doublecompress'; $err_msg = ''; if (false === ($fnew = fopen($file.".tmp", 'w')) || !is_resource($fnew)) { @gzclose($dbhandle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $err_msg = __('The attempt to undo the double-compression failed.', 'updraftplus'); } else { @fwrite($fnew, $bytes);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $emptimes = 0; while (!gzeof($dbhandle)) { $bytes = @gzread($dbhandle, 262144);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (empty($bytes)) { $emptimes++; global $updraftplus; $updraftplus->log("Got empty gzread ($emptimes times)"); if ($emptimes>2) break; } else { @fwrite($fnew, $bytes);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } } gzclose($dbhandle); fclose($fnew); // On some systems (all Windows?) you can't rename a gz file whilst it's gzopened if (!rename($file.".tmp", $file)) { $err_msg = __('The attempt to undo the double-compression failed.', 'updraftplus'); } else { $mess .= ' '.__('The attempt to undo the double-compression succeeded.', 'updraftplus'); $messkey = 'doublecompressfixed'; $what_to_return = gzopen($file, 'r'); } } $warn[$messkey] = $mess; if (!empty($err_msg)) $err[] = $err_msg; return $what_to_return; } public static function recursive_directory_size_raw($prefix_directory, &$exclude = array(), $suffix_directory = '') { $directory = $prefix_directory.('' == $suffix_directory ? '' : '/'.$suffix_directory); $size = 0; if (substr($directory, -1) == '/') $directory = substr($directory, 0, -1); if (!file_exists($directory) || !is_dir($directory) || !is_readable($directory)) return -1; if (file_exists($directory.'/.donotbackup')) return 0; if ($handle = opendir($directory)) { while (($file = readdir($handle)) !== false) { if ('.' != $file && '..' != $file) { $spath = ('' == $suffix_directory) ? $file : $suffix_directory.'/'.$file; if (false !== ($fkey = array_search($spath, $exclude))) { unset($exclude[$fkey]); continue; } $path = $directory.'/'.$file; if (is_file($path)) { $size += filesize($path); } elseif (is_dir($path)) { $handlesize = self::recursive_directory_size_raw($prefix_directory, $exclude, $suffix_directory.('' == $suffix_directory ? '' : '/').$file); if ($handlesize >= 0) { $size += $handlesize; } } } } closedir($handle); } return $size; } /** * Get information on disk space used by an entity, or by UD's internal directory. Returns as a human-readable string. * * @param String $entity - the entity (e.g. 'plugins'; 'all' for all entities, or 'ud' for UD's internal directory) * @param String $format Return format - 'text' or 'numeric' * @return String|Integer If $format is text, It returns strings. Otherwise integer value. */ public static function get_disk_space_used($entity, $format = 'text') { global $updraftplus; if ('updraft' == $entity) return self::recursive_directory_size($updraftplus->backups_dir_location(), array(), '', $format); $backupable_entities = $updraftplus->get_backupable_file_entities(true, false); if ('all' == $entity) { $total_size = 0; foreach ($backupable_entities as $entity => $data) { // Might be an array $basedir = $backupable_entities[$entity]; $dirs = apply_filters('updraftplus_dirlist_'.$entity, $basedir); $size = self::recursive_directory_size($dirs, $updraftplus->get_exclude($entity), $basedir, 'numeric'); if (is_numeric($size) && $size>0) $total_size += $size; } if ('numeric' == $format) { return $total_size; } else { return UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($total_size); } } elseif (!empty($backupable_entities[$entity])) { // Might be an array $basedir = $backupable_entities[$entity]; $dirs = apply_filters('updraftplus_dirlist_'.$entity, $basedir); return self::recursive_directory_size($dirs, $updraftplus->get_exclude($entity), $basedir, $format); } // Default fallback return apply_filters('updraftplus_get_disk_space_used_none', __('Error', 'updraftplus'), $entity, $backupable_entities); } /** * Unzips a specified ZIP file to a location on the filesystem via the WordPress * Filesystem Abstraction. Forked from WordPress core in version 5.1-alpha-44182, * to allow us to provide feedback on progress. * * Assumes that WP_Filesystem() has already been called and set up. Does not extract * a root-level __MACOSX directory, if present. * * Attempts to increase the PHP memory limit before uncompressing. However, * the most memory required shouldn't be much larger than the archive itself. * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param String $file - Full path and filename of ZIP archive. * @param String $to - Full path on the filesystem to extract archive to. * @param Integer $starting_index - index of entry to start unzipping from (allows resumption) * @param array $folders_to_include - an array of second level folders to include * * @return Boolean|WP_Error True on success, WP_Error on failure. */ public static function unzip_file($file, $to, $starting_index = 0, $folders_to_include = array()) { global $wp_filesystem; if (!$wp_filesystem || !is_object($wp_filesystem)) { return new WP_Error('fs_unavailable', __('Could not access filesystem.'));// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } // Unzip can use a lot of memory, but not this much hopefully. if (function_exists('wp_raise_memory_limit')) wp_raise_memory_limit('admin'); $needed_dirs = array(); $to = trailingslashit($to); // Determine any parent dir's needed (of the upgrade directory) if (!$wp_filesystem->is_dir($to)) { // Only do parents if no children exist $path = preg_split('![/\\\]!', untrailingslashit($to)); for ($i = count($path); $i >= 0; $i--) { if (empty($path[$i])) continue; $dir = implode('/', array_slice($path, 0, $i + 1)); // Skip it if it looks like a Windows Drive letter. if (preg_match('!^[a-z]:$!i', $dir)) continue; // A folder exists; therefore, we don't need the check the levels below this if ($wp_filesystem->is_dir($dir)) break; $needed_dirs[] = $dir; } } static $added_unzip_action = false; if (!$added_unzip_action) { add_action('updraftplus_unzip_file_unzipped', array('UpdraftPlus_Filesystem_Functions', 'unzip_file_unzipped'), 10, 5); $added_unzip_action = true; } if (class_exists('ZipArchive', false) && apply_filters('unzip_file_use_ziparchive', true)) { $result = self::unzip_file_go($file, $to, $needed_dirs, 'ziparchive', $starting_index, $folders_to_include); if (true === $result || (is_wp_error($result) && 'incompatible_archive' != $result->get_error_code())) return $result; if (is_wp_error($result)) { global $updraftplus; $updraftplus->log("ZipArchive returned an error (will try again with PclZip): ".$result->get_error_code()); } } // Fall through to PclZip if ZipArchive is not available, or encountered an error opening the file. // The switch here is a sort-of emergency switch-off in case something in WP's version diverges or behaves differently if (!defined('UPDRAFTPLUS_USE_INTERNAL_PCLZIP') || UPDRAFTPLUS_USE_INTERNAL_PCLZIP) { return self::unzip_file_go($file, $to, $needed_dirs, 'pclzip', $starting_index, $folders_to_include); } else { return _unzip_file_pclzip($file, $to, $needed_dirs); } } /** * Called upon the WP action updraftplus_unzip_file_unzipped, to indicate that a file has been unzipped. * * @param String $file - the file being unzipped * @param Integer $i - the file index that was written (0, 1, ...) * @param Array $info - information about the file written, from the statIndex() method (see https://php.net/manual/en/ziparchive.statindex.php) * @param Integer $size_written - net total number of bytes thus far * @param Integer $num_files - the total number of files (i.e. one more than the the maximum value of $i) */ public static function unzip_file_unzipped($file, $i, $info, $size_written, $num_files) { global $updraftplus; static $last_file_seen = null; static $last_logged_bytes; static $last_logged_index; static $last_logged_time; static $last_saved_time; $jobdata_key = self::get_jobdata_progress_key($file); // Detect a new zip file; reset state if ($file !== $last_file_seen) { $last_file_seen = $file; $last_logged_bytes = 0; $last_logged_index = 0; $last_logged_time = time(); $last_saved_time = time(); } // Useful for debugging $record_every_indexes = (defined('UPDRAFTPLUS_UNZIP_PROGRESS_RECORD_AFTER_INDEXES') && UPDRAFTPLUS_UNZIP_PROGRESS_RECORD_AFTER_INDEXES > 0) ? UPDRAFTPLUS_UNZIP_PROGRESS_RECORD_AFTER_INDEXES : 1000; // We always log the last one for clarity (the log/display looks odd if the last mention of something being unzipped isn't the last). Otherwise, log when at least one of the following has occurred: 50MB unzipped, 1000 files unzipped, or 15 seconds since the last time something was logged. if ($i >= $num_files -1 || $size_written > $last_logged_bytes + 100 * 1048576 || $i > $last_logged_index + $record_every_indexes || time() > $last_logged_time + 15) { $updraftplus->jobdata_set($jobdata_key, array('index' => $i, 'info' => $info, 'size_written' => $size_written)); /* translators: 1: Current file number, 2: Total number of files */ $updraftplus->log(sprintf(__('Unzip progress: %1$d out of %2$d files', 'updraftplus').' (%3$s, %4$s)', $i+1, $num_files, UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($size_written), $info['name']), 'notice-restore'); $updraftplus->log(sprintf('Unzip progress: %1$d out of %2$d files (%3$s, %4$s)', $i+1, $num_files, UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($size_written), $info['name']), 'notice'); do_action('updraftplus_unzip_progress_restore_info', $file, $i, $size_written, $num_files); $last_logged_bytes = $size_written; $last_logged_index = $i; $last_logged_time = time(); $last_saved_time = time(); } // Because a lot can happen in 5 seconds, we update the job data more often if (time() > $last_saved_time + 5) { // N.B. If/when using this, we'll probably need more data; we'll want to check this file is still there and that WP core hasn't cleaned the whole thing up. $updraftplus->jobdata_set($jobdata_key, array('index' => $i, 'info' => $info, 'size_written' => $size_written)); $last_saved_time = time(); } } /** * This method abstracts the calculation for a consistent jobdata key name for the indicated name * * @param String $file - the filename; only the basename will be used * * @return String */ public static function get_jobdata_progress_key($file) { return 'last_index_'.md5(basename($file)); } /** * Compatibility function (exists in WP 4.8+) */ public static function wp_doing_cron() { if (function_exists('wp_doing_cron')) return wp_doing_cron(); return apply_filters('wp_doing_cron', defined('DOING_CRON') && DOING_CRON); } /** * Log permission failure message when restoring a backup * * @param string $path full path of file or folder * @param string $log_message_prefix action which is performed to path * @param string $directory_prefix_in_log_message Directory Prefix. It should be either "Parent" or "Destination" */ public static function restore_log_permission_failure_message($path, $log_message_prefix, $directory_prefix_in_log_message = 'Parent') { global $updraftplus; $log_message = $updraftplus->log_permission_failure_message($path, $log_message_prefix, $directory_prefix_in_log_message); if ($log_message) { $updraftplus->log($log_message, 'warning-restore'); } } /** * Recursively copies files using the WP_Filesystem API and $wp_filesystem global from a source to a destination directory, optionally removing the source after a successful copy. * * @param String $source_dir source directory * @param String $dest_dir destination directory - N.B. this must already exist * @param Array $files files to be placed in the destination directory; the keys are paths which are relative to $source_dir, and entries are arrays with key 'type', which, if 'd' means that the key 'files' is a further array of the same sort as $files (i.e. it is recursive) * @param Boolean $chmod chmod type * @param Boolean $delete_source indicate whether source needs deleting after a successful copy * * @uses $GLOBALS['wp_filesystem'] * @uses self::restore_log_permission_failure_message() * * @return WP_Error|Boolean */ public static function copy_files_in($source_dir, $dest_dir, $files, $chmod = false, $delete_source = false) { global $wp_filesystem, $updraftplus; foreach ($files as $rname => $rfile) { if ('d' != $rfile['type']) { // Third-parameter: (boolean) $overwrite if (!$wp_filesystem->move($source_dir.'/'.$rname, $dest_dir.'/'.$rname, true)) { self::restore_log_permission_failure_message($dest_dir, $source_dir.'/'.$rname.' -> '.$dest_dir.'/'.$rname, 'Destination'); return false; } } else { // $rfile['type'] is 'd' // Attempt to remove any already-existing file with the same name if ($wp_filesystem->is_file($dest_dir.'/'.$rname)) @$wp_filesystem->delete($dest_dir.'/'.$rname, false, 'f');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- if fails, carry on // No such directory yet: just move it if ($wp_filesystem->exists($dest_dir.'/'.$rname) && !$wp_filesystem->is_dir($dest_dir.'/'.$rname) && !$wp_filesystem->move($source_dir.'/'.$rname, $dest_dir.'/'.$rname, false)) { self::restore_log_permission_failure_message($dest_dir, 'Move '.$source_dir.'/'.$rname.' -> '.$dest_dir.'/'.$rname, 'Destination'); $updraftplus->log_e('Failed to move directory (check your file permissions and disk quota): %s', $source_dir.'/'.$rname." -> ".$dest_dir.'/'.$rname); return false; } elseif (!empty($rfile['files'])) { if (!$wp_filesystem->exists($dest_dir.'/'.$rname)) $wp_filesystem->mkdir($dest_dir.'/'.$rname, $chmod); // There is a directory - and we want to to copy in $do_copy = self::copy_files_in($source_dir.'/'.$rname, $dest_dir.'/'.$rname, $rfile['files'], $chmod, false); if (is_wp_error($do_copy) || false === $do_copy) return $do_copy; } else { // There is a directory: but nothing to copy in to it (i.e. $file['files'] is empty). Just remove the directory. @$wp_filesystem->rmdir($source_dir.'/'.$rname);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } } } // We are meant to leave the working directory empty. Hence, need to rmdir() once a directory is empty. But not the root of it all in case of others/wpcore. if ($delete_source || false !== strpos($source_dir, '/')) { if (!$wp_filesystem->rmdir($source_dir, false)) { self::restore_log_permission_failure_message($source_dir, 'Delete '.$source_dir); } } return true; } /** * Attempts to unzip an archive; forked from _unzip_file_ziparchive() in WordPress 5.1-alpha-44182, and modified to use the UD zip classes. * * Assumes that WP_Filesystem() has already been called and set up. * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param String $file - full path and filename of ZIP archive. * @param String $to - full path on the filesystem to extract archive to. * @param Array $needed_dirs - a partial list of required folders needed to be created. * @param String $method - either 'ziparchive' or 'pclzip'. * @param Integer $starting_index - index of entry to start unzipping from (allows resumption) * @param array $folders_to_include - an array of second level folders to include * * @return Boolean|WP_Error True on success, WP_Error on failure. */ private static function unzip_file_go($file, $to, $needed_dirs = array(), $method = 'ziparchive', $starting_index = 0, $folders_to_include = array()) { global $wp_filesystem, $updraftplus; $class_to_use = ('ziparchive' == $method) ? 'UpdraftPlus_ZipArchive' : 'UpdraftPlus_PclZip'; if (!class_exists($class_to_use)) updraft_try_include_file('includes/class-zip.php', 'require_once'); $updraftplus->log('Unzipping '.basename($file).' to '.$to.' using '.$class_to_use.', starting index '.$starting_index); $z = new $class_to_use; $flags = (version_compare(PHP_VERSION, '5.2.12', '>') && defined('ZIPARCHIVE::CHECKCONS')) ? ZIPARCHIVE::CHECKCONS : 4; // This is just for crazy people with mbstring.func_overload enabled (deprecated from PHP 7.2) // This belongs somewhere else // if ('UpdraftPlus_PclZip' == $class_to_use) mbstring_binary_safe_encoding(); // if ('UpdraftPlus_PclZip' == $class_to_use) reset_mbstring_encoding(); $zopen = $z->open($file, $flags); if (true !== $zopen) { return new WP_Error('incompatible_archive', __('Incompatible Archive.'), array($method.'_error' => $z->last_error));// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } $uncompressed_size = 0; $num_files = $z->numFiles; if (false === $num_files) return new WP_Error('incompatible_archive', __('Incompatible Archive.'), array($method.'_error' => $z->last_error));// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. for ($i = $starting_index; $i < $num_files; $i++) { if (!$info = $z->statIndex($i)) { return new WP_Error('stat_failed_'.$method, __('Could not retrieve file from archive.').' ('.$z->last_error.')');// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } // Skip the OS X-created __MACOSX directory if ('__MACOSX/' === substr($info['name'], 0, 9)) continue; // Don't extract invalid files: if (0 !== validate_file($info['name'])) continue; if (!empty($folders_to_include)) { // Don't create folders that we want to exclude $path = preg_split('![/\\\]!', untrailingslashit($info['name'])); if (isset($path[1]) && !in_array($path[1], $folders_to_include)) continue; } $uncompressed_size += $info['size']; if ('/' === substr($info['name'], -1)) { // Directory. $needed_dirs[] = $to . untrailingslashit($info['name']); } elseif ('.' !== ($dirname = dirname($info['name']))) { // Path to a file. $needed_dirs[] = $to . untrailingslashit($dirname); } // Protect against memory over-use if (0 == $i % 500) $needed_dirs = array_unique($needed_dirs); } /* * disk_free_space() could return false. Assume that any falsey value is an error. * A disk that has zero free bytes has bigger problems. * Require we have enough space to unzip the file and copy its contents, with a 10% buffer. */ if (self::wp_doing_cron()) { $available_space = function_exists('disk_free_space') ? @disk_free_space(WP_CONTENT_DIR) : false;// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Call is speculative if ($available_space && ($uncompressed_size * 2.1) > $available_space) { return new WP_Error('disk_full_unzip_file', __('Could not copy files.').' '.__('You may have run out of disk space.'), compact('uncompressed_size', 'available_space'));// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } } $needed_dirs = array_unique($needed_dirs); foreach ($needed_dirs as $dir) { // Check the parent folders of the folders all exist within the creation array. if (untrailingslashit($to) == $dir) { // Skip over the working directory, We know this exists (or will exist) continue; } // If the directory is not within the working directory then skip it if (false === strpos($dir, $to)) continue; $parent_folder = dirname($dir); while (!empty($parent_folder) && untrailingslashit($to) != $parent_folder && !in_array($parent_folder, $needed_dirs)) { $needed_dirs[] = $parent_folder; $parent_folder = dirname($parent_folder); } } asort($needed_dirs); // Create those directories if need be: foreach ($needed_dirs as $_dir) { // Only check to see if the Dir exists upon creation failure. Less I/O this way. if (!$wp_filesystem->mkdir($_dir, FS_CHMOD_DIR) && !$wp_filesystem->is_dir($_dir)) { return new WP_Error('mkdir_failed_'.$method, __('Could not create directory.'), substr($_dir, strlen($to)));// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } } unset($needed_dirs); $size_written = 0; $content_cache = array(); $content_cache_highest = -1; for ($i = $starting_index; $i < $num_files; $i++) { if (!$info = $z->statIndex($i)) { return new WP_Error('stat_failed_'.$method, __('Could not retrieve file from archive.'));// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } // directory if ('/' == substr($info['name'], -1)) continue; // Don't extract the OS X-created __MACOSX if ('__MACOSX/' === substr($info['name'], 0, 9)) continue; // Don't extract invalid files: if (0 !== validate_file($info['name'])) continue; if (!empty($folders_to_include)) { // Don't extract folders that we want to exclude $path = preg_split('![/\\\]!', untrailingslashit($info['name'])); if (isset($path[1]) && !in_array($path[1], $folders_to_include)) continue; } // N.B. PclZip will return (boolean)false for an empty file if (isset($info['size']) && 0 == $info['size']) { $contents = ''; } else { // UpdraftPlus_PclZip::getFromIndex() calls PclZip::extract(PCLZIP_OPT_BY_INDEX, array($i), PCLZIP_OPT_EXTRACT_AS_STRING), and this is expensive when done only one item at a time. We try to cache in chunks for good performance as well as being able to resume. if ($i > $content_cache_highest && 'UpdraftPlus_PclZip' == $class_to_use) { $memory_usage = memory_get_usage(false); $total_memory = $updraftplus->memory_check_current(); if ($memory_usage > 0 && $total_memory > 0) { $memory_free = $total_memory*1048576 - $memory_usage; } else { // A sane default. Anything is ultimately better than WP's default of just unzipping everything into memory. $memory_free = 50*1048576; } $use_memory = max(10485760, $memory_free - 10485760); $total_byte_count = 0; $content_cache = array(); $cache_indexes = array(); $cache_index = $i; while ($cache_index < $num_files && $total_byte_count < $use_memory) { if (false !== ($cinfo = $z->statIndex($cache_index)) && isset($cinfo['size']) && '/' != substr($cinfo['name'], -1) && '__MACOSX/' !== substr($cinfo['name'], 0, 9) && 0 === validate_file($cinfo['name'])) { $total_byte_count += $cinfo['size']; if ($total_byte_count < $use_memory) { $cache_indexes[] = $cache_index; $content_cache_highest = $cache_index; } } $cache_index++; } if (!empty($cache_indexes)) { $content_cache = $z->updraftplus_getFromIndexBulk($cache_indexes); } } $contents = isset($content_cache[$i]) ? $content_cache[$i] : $z->getFromIndex($i); } if (false === $contents && ('pclzip' !== $method || 0 !== $info['size'])) { return new WP_Error('extract_failed_'.$method, __('Could not extract file from archive.').' '.$z->last_error, json_encode($info));// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } if (!$wp_filesystem->put_contents($to . $info['name'], $contents, FS_CHMOD_FILE)) { return new WP_Error('copy_failed_'.$method, __('Could not copy file.'), $info['name']);// phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- The string exists within the WordPress core. } if (!empty($info['size'])) $size_written += $info['size']; do_action('updraftplus_unzip_file_unzipped', $file, $i, $info, $size_written, $num_files); } $z->close(); return true; } } Smartphones Archives - Smart Office https://smartoffice.com.au/category/smartphones/ Mon, 06 Apr 2020 03:23:25 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 Motorola Razr Not As Expensive As You Think https://smartoffice.com.au/motorola-razr-not-expensive-think/ https://smartoffice.com.au/motorola-razr-not-expensive-think/#respond Mon, 06 Apr 2020 03:23:25 +0000 http://smartoffice.com.au/?p=97618 If you are into retro or a smartphone that will get people talking the new Motorola Razr Flip phone is finally on sale and new packages are available via Telstra that are not going to break the bank. On a 24 month contract the show piece device is only going to cost $112 per month ... Read more

    The post Motorola Razr Not As Expensive As You Think appeared first on Smart Office.

    ]]>
    If you are into retro or a smartphone that will get people talking the new Motorola Razr Flip phone is finally on sale and new packages are available via Telstra that are not going to break the bank.

    On a 24 month contract the show piece device is only going to cost $112 per month for a $2,600 smartphone.

    So why should you consider buying a flip phone.

    The Wall Street Journal wrote recently?

    In case you hadn’t noticed, our phone screens have gotten unmanageably huge. And smartphone sales have slowed, as we see less incentive in upgrading from one black rectangle to another.

    Meanwhile, flexible and foldable screens are rapidly evolving and dropping in price. What better way to get us to buy a new thing than sell us a new thing that actually looks like a new thing?

    The new reimagined Motorola Razr can now be seen in-store across ten Telstra retail outlets in Australia.

    Danny Adamopoulos, General Manager of Sales, APAC for Mature Markets, Motorola said “The Telstra partnership adds to the device’s availability from JB Hi-Fi and the Motorola online store.
    said the partnership with Telstra will provide even more options for those consumers looking to purchase the Razr.

    “I’m delighted we are able to partner with Telstra to bring this revolutionary smartphone to their customers. The original RAZR was a fashion icon that defined a generation and became an integral part of pop culture. With its clamshell-style flexible display, the reimagined Razr offers consumers the upgraded smartphone experience they are after, with some iconic elements they know and love.”

    The Motorola Razr features Motorola’s architected, industry-first, patent-protected zero-gap hinge that allows both sides of the customised polymer flexible display system to remain perfectly flush when closed and protects the display from debris and dust as well as re-engineered antennas to fit in a space twice as small as today’s smartphones, with water resistance and splash-proof protection.

    To find out more about purchasing a Motorola Razr on a Telstra plan please visit:

    • https://www.telstra.com.au/mobile-phones/mobiles-on-a-plan/motorola/motorola-razr-4g-fold

    • https://www.telstra.com.au/small-business/mobile-phones/mobiles-on-a-plan/motorola/motorola-razr-4g-fold

    The post Motorola Razr Not As Expensive As You Think appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/motorola-razr-not-expensive-think/feed/ 0
    Samsung S20 5G Ultra+ Is It Worth 2K+, 100X Zoom, 108MP Camera? https://smartoffice.com.au/samsung-s20-5g-ultra-worth-2k-100x-zoom-108mp-camera/ https://smartoffice.com.au/samsung-s20-5g-ultra-worth-2k-100x-zoom-108mp-camera/#respond Tue, 11 Feb 2020 23:39:11 +0000 http://smartoffice.com.au/?p=97585 It was all camera at the 2020 launch of the new Samsung Galaxy S20 5G in San Francisco this morning, 8K shot footage, up to 100X zoom and artificial intelligence that sets the new benchmark for a premium smartphone and a massivly improved Google Duo. Bragging rights just kept coming from 8K footage that in ... Read more

    The post Samsung S20 5G Ultra+ Is It Worth 2K+, 100X Zoom, 108MP Camera? appeared first on Smart Office.

    ]]>
    It was all camera at the 2020 launch of the new Samsung Galaxy S20 5G in San Francisco this morning, 8K shot footage, up to 100X zoom and artificial intelligence that sets the new benchmark for a premium smartphone and a massivly improved Google Duo.

    Bragging rights just kept coming from 8K footage that in the past need a camera rig worth thousands, new “super zoom resolution” mode that delivers up to 100X capability and easily out performs the Huawei P30 with the biggest advantage that Samsung can guarantee that they have not worked with the Chinese Liberation Army to compromise security.

    This has all been achieved with the introduction of an exceptionally high-resolution sensor coupled with a cutting edge processor made by Samsung.


    Design wise the new S205G Ultra makes the old Note 10 Plus feel chunky, and Apples latest offering seriously old technology.

    The 6.9-inch screen with its 120Hz refresh rate makes shot images look beautiful colourful and bright.

    The 4x telephoto lens located behind the hole in the back of the S20G combines with a built in 48-megapixel sensor delivering “lossless hybrid optic” zoom. Lossless means that you won’t lose quality as you zoom similar to what was happening with the Huawei P30.

    The 100x zoom feature which is exclusive to the S20 Ultra allows users to easily flick to a zoom setting as was demonstrated by Samsung when standing on a cliff two kilometres away from the famous Alcatraz prison in San Francisco, one button push and the cameraman could easily zoom into the location.

    What Samsung has done that’s unique is dramatically improve the resolution and quality of an image

    The S20 Ultra’s periscope appears to make a massive difference when it comes to shooting, I want to test it against a top end Canon camera and one of their zoom lenses. The Canon rig alone will cost you over $5K making the new Samsung offering a cheap pro camera rig.

    The zoom capability also works at night, so a pool party suddenly becomes a lot more focused.

    In the past problems have occurred when shooting in low-light, Samsung claims to have found a solution to these problems using the power of their new processor combined with the AI speed of the sensor.

    Another massive improvement is that you can access Google Duo on the Galaxy S20 directly from the dialler. I love Google Duo for my personal calls, while I use Zoom for business calls, I ditched Skype for Duo. Only recently when in a boardroom meeting my phone rang, it was my 4-year-old granddaughter, she had her mother phone and decided to call me a real ‘Hello Grandpa moment”

    Now with a simple press of a button you can trigger a video call in full HD quality with up to eight people due to the new wide-angle camera. I really want to test this.

    Quick Conclusion

    With this device it appears you are going to get the best of everything and as Samsung said at the start of their event ‘It’s all about “premium” and that is what they have delivered with the S20Ultra.

    Apart from 5G which is basic, there is an incredible camera, 16GB of Samsung manufactured RAM and a massive display screen. This device is not cheap at $2,249 but is a pro camera, PC, smartphone and you can do Google Duo calls while also getting the best Netflix can offer.

    It also has an astonishing 16GB of RAM, which considering the amout of use you will get with this device is worth the money.

    Galaxy S20 Galaxy S20+ Galaxy S20 Ultra
    Operating System Android 10 Android 10 Android 10
    Display 6.2-inch Quad HD+ Dynamic AMOLED, 2X Infinity O Display (3200X1440), HDR10+, 120Hz 6.7-inch Quad HD+ Dynamic AMOLED, 2X Infinity O Display (3200X1440), HDR10+, 120Hz 6.9-inch Quad HD+ Dynamic AMOLED, 2X Infinity O Display (3200X1440), HDR10+, 120Hz
    Body 151.7 x 69.1 x 7.9mm, 163g 161.9 x 73.7 x 7.8mm, 188g 166.9 x 76.0 x 8.8mm, 222g
    Camera Rear:Ultra Wide 12MP F2.2, Wide-angle 12MP F1.8, Telephoto: 64MP. Front: 10MP F2.2 Rear:Ultra Wide 12MP F2.2, Wide-angle 12MP F1.8, Telephoto: 64MP, DepthVision sensor. Front: 10MP F2.2 Rear:Ultra Wide 12MP F2.2, Wide-angle 108MP F1.8, Telephoto: 48MP, DepthVision sensor. Front: 40MP F2.2
    Processor 7㎚ 64-bit Octa-Core 7㎚ 64-bit Octa-Core 7㎚ 64-bit Octa-Core
    Memory/Storage 8GB RAM/128GB storage (4G) or 12GB RAM/128GB storage (5G) 8GB RAM/128GB storage (4G) or 12GB RAM/ with 128GB/256GB/512GB storage (5G) 12GB RAM/128GB storage or 16GB/512GB storage (5G)
    Water Resistance IP68 IP68 IP68
    Battery 4,000 mAH with 25W fast charge and fast wireless charging 2.0 4,500 mAH with 25W fast charge and fast wireless charging 2.0 5,000 mAH with 45W fast charge and fast wireless charging 2.0
    Connectivity 4G or 5G 4G or 5G 5G
    Colours Cosmic Grey, Cloud Blue, Cloud Pink Cosmic Grey, Cloud Blue, Cosmic Black Cosmic Grey, Cosmic Black
    Price $1,349 for 8GB/128GB/4G, $1,499 for 12GB/128GB/5G $1,499 for 8GB/128GB/4G, $1,649 for 12GB/128GB/5G, $1,899 for 12GB/512GB/5G

    The post Samsung S20 5G Ultra+ Is It Worth 2K+, 100X Zoom, 108MP Camera? appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/samsung-s20-5g-ultra-worth-2k-100x-zoom-108mp-camera/feed/ 0
    New Samsung Galaxy S20, 5G, With 108MP 8K Camera Sets New Shooting Benchmark https://smartoffice.com.au/new-samsung-galaxy-s20-5g-108mp-8k-camera-sets-new-shooting-benchmark/ https://smartoffice.com.au/new-samsung-galaxy-s20-5g-108mp-8k-camera-sets-new-shooting-benchmark/#respond Tue, 11 Feb 2020 23:20:34 +0000 http://smartoffice.com.au/?p=97564 Samsung Electronics has moved to cement their position as the dominant player in the 5G market, with the roll out of an all new 5G flagship range of S20 smartphones that come with a 108-megapixel camera 8K shooting camera and 120MHz display. Simply the new Samsung S20 models are all about top end 5G performance ... Read more

    The post New Samsung Galaxy S20, 5G, With 108MP 8K Camera Sets New Shooting Benchmark appeared first on Smart Office.

    ]]>
    Samsung Electronics has moved to cement their position as the dominant player in the 5G market, with the roll out of an all new 5G flagship range of S20 smartphones that come with a 108-megapixel camera 8K shooting camera and 120MHz display.

    Simply the new Samsung S20 models are all about top end 5G performance and never before seen, camera technology in a smartphone, they start in price at $1,349 for the 8GB + 128GB expandable model with single SIM & eSIM to $2,249 for the Galaxy S20 Ultra 5G model with 16GB + 512GB of storage capability.

    This model also has a single SIM and eSIM capability.

    Launched at a gala event in San Francisco overnight Samsung has set a new benchmark for both performance and camera architecture using new software AI technology and a new capture sensor that allows users to shoot their own 8K movies.

    Dr. TM Roh, President and Head of Mobile Communications Business, Samsung Electronics told the audience, “As all three Galaxy S20 variants come with 5G connectivity and Samsung is now providing a next-generation device with an AI powered camera”.

    On top of that Samsung has gone all 5G for their premium model range with new mid-range models set to be launched later this year tipped to be 4G and affordable.

    Currently 9 out of ten 5G smartphones sold in Australia are made by Samsung.

    Samsung Australia has confirmed that the Galaxy S20 range of smartphones will be available to purchase from March 6, 2020.

    Customers who pre-order the Galaxy S20+, Galaxy S20+ 5G and Galaxy S20 Ultra 5G from participating retailers are eligible to redeem a complimentary pair of Samsung Galaxy Buds+ valued at $299 (RRP)1. The pre-order period commences at 09.00 AEDT February 12 and concludes at 11.59 AEDT March 5, 2020.

    The dramatically increased performance and shooting capability of their new 108MP camera which can now shoot 8K on the fly, has been achieved with the introduction of a new camera sensor made by Samsung.

    The Galaxy S20, Galaxy S20+ and Galaxy S20 Ultra are the first devices able to power new mobile experiences that take advantage of both sub-6 and mmWave technology.

    The Galaxy S20 supports sub-6 and three devices can deliver non-standalone and standalone 5G capabilities.

    CAMERA

    The new camera delivers crystal clear clarity due to the larger image sensor and significantly improved resolution over the current Galaxy range.

    The sensor has been designed to take in more light, so you get better low light shooting.

    The S20 Ultra allows users to shift dynamically between a high resolution 108MP mode and a 12MP mode, due to new to nona-binning technology which combines nine pixels into one at the sensor level.

    Also built in is new Space Zoom technology that uses a combination of Hybrid Optic Zoom and Super Resolution Zoom, which includes AI-powered digital zoom, even when you are far away you can zoom in close.

    In the past brands such as Huawei with their P30 smartphone have had 50X zoom which we found impossible to shoot without a tripod.

    With the new Samsung range users can shoot up to 30X zoom on the Galaxy S20 and S20+, or step-up to the revolutionary folded lenses on the S20 Ultra, which uses AI powered, multi-image processing to reduce quality loss at high zoom levels so that users can experience Super Resolution Zoom up to 100X with a clearer view ever than before claims Samsung.

    Other features include:

    Single Take, Multiple Possibilities: Single Take lets you stay in the moment, while you capture the moment. Thanks to its AI camera technologies, the Galaxy S20 can capture several photos and videos, such as Live focus, cropped, Ultra-Wide and more that captures your moment the best.

    Pro-Grade Filming Capability: The Galaxy S20 offers stunning 8K video shooting, so users can capture their world in true-to-life colour and quality. When you are done shooting, stream your video to a Samsung QLED 8K TV and enjoy its best-in-class viewing experience or grab a still from an 8K video and turn it into a high-res photo. And, even the bumpiest videos look like they were shot using an action cam, thanks to Super Steady and its anti-rolling stabilization and AI motion analysis.

    Samsung who acquired Harman, one of the world’s leading sound Companies who own brands such as JBL, Harman Kardon and AKG has also incorporated new audio output capabilities wrapped around AKG tuning technology.

    New capabilities include integration between Spotify and Bixby Routines.

    Music Share extend a paired Bluetooth connection to a car stereo or speaker via your device, so you and your friend can take turns DJ-ing during a road trip.

    Google Duo

    Also introduced is what Samsung is calling ‘Exceptional Video Chat on Google Duo’.

    The new Galaxy S20 enhances the video chatting experience through a deep integration with Google Duo, these are featuring that Google said are being seen for the first time in the Galaxy S20.

    From the dialler, you can tap Duo to start a video call and enjoy, for the first time ever, FHD quality. Google Duo is compatible across operating systems, so you are not limited in who you can video chat with up to 8 friends, at once.

    In cuddling up to Google Samsung has been able to further enhance YouTube on a 5G device with users being able to share your 8K videos via the Google owned platform.

    Samsung partnered with YouTube so you can upload your 8K videos directly to YouTube—and with integrated 5G capabilities, experience ultra-fast upload speeds.

    Gaming

    Because of significant 5G hardware improvements the Galaxy S20 takes mobile gaming to the next level.

    With a 120Hz display owners will have the ability to experience incredibly smooth gaming.

    Later this spring, Samsung partner, Microsoft, will launch its popular Forza Street in the Galaxy Store, marking the first time the game is coming to mobile.

    Combined with a fast processor, 12GB of RAM, audio tuned by AKG and a game booster working in the background to optimize settings for peak performance, the Galaxy S20 offers a powerful gaming experience.

    GALAXY BUDS+

    Also introduced are AKG tuned Samsung Galaxy Buds+, that feature 2-way speakers; 3 mics for unparalleled sound and voice quality; and an incredibly long battery life—up to 11 hours from Buds+ and an extra 11 hours in the case.

    Buds+ app, ‘Galaxy Buds+’, is now iOS compatible, so you can enjoy a great audio experience no matter which device you use. And with the Spotify partnership, listen to the tunes and podcasts you love more easily by hitting play with a single press.

    Galaxy S20 Galaxy S20+ Galaxy S20 Ultra
    Operating System Android 10 Android 10 Android 10
    Display 6.2-inch Quad HD+ Dynamic AMOLED, 2X Infinity O Display (3200X1440), HDR10+, 120Hz 6.7-inch Quad HD+ Dynamic AMOLED, 2X Infinity O Display (3200X1440), HDR10+, 120Hz 6.9-inch Quad HD+ Dynamic AMOLED, 2X Infinity O Display (3200X1440), HDR10+, 120Hz
    Body 151.7 x 69.1 x 7.9mm, 163g 161.9 x 73.7 x 7.8mm, 188g 166.9 x 76.0 x 8.8mm, 222g
    Camera Rear:Ultra Wide 12MP F2.2, Wide-angle 12MP F1.8, Telephoto: 64MP. Front: 10MP F2.2 Rear:Ultra Wide 12MP F2.2, Wide-angle 12MP F1.8, Telephoto: 64MP, DepthVision sensor. Front: 10MP F2.2 Rear:Ultra Wide 12MP F2.2, Wide-angle 108MP F1.8, Telephoto: 48MP, DepthVision sensor. Front: 40MP F2.2
    Processor 7㎚ 64-bit Octa-Core 7㎚ 64-bit Octa-Core 7㎚ 64-bit Octa-Core
    Memory/Storage 8GB RAM/128GB storage (4G) or 12GB RAM/128GB storage (5G) 8GB RAM/128GB storage (4G) or 12GB RAM/ with 128GB/256GB/512GB storage (5G) 12GB RAM/128GB storage or 16GB/512GB storage (5G)
    Water Resistance IP68 IP68 IP68
    Battery 4,000 mAH with 25W fast charge and fast wireless charging 2.0 4,500 mAH with 25W fast charge and fast wireless charging 2.0 5,000 mAH with 45W fast charge and fast wireless charging 2.0
    Connectivity 4G or 5G 4G or 5G 5G
    Colours Cosmic Grey, Cloud Blue, Cloud Pink Cosmic Grey, Cloud Blue, Cosmic Black Cosmic Grey, Cosmic Black
    Price $1,349 for 8GB/128GB/4G, $1,499 for 12GB/128GB/5G $1,499 for 8GB/128GB/4G, $1,649 for 12GB/128GB/5G, $1,899 for 12GB/512GB/5G $2,249

     

    The post New Samsung Galaxy S20, 5G, With 108MP 8K Camera Sets New Shooting Benchmark appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/new-samsung-galaxy-s20-5g-108mp-8k-camera-sets-new-shooting-benchmark/feed/ 0
    Danby Blast: Huawei Hits Back https://smartoffice.com.au/danby-blast-huawei-hits-back/ https://smartoffice.com.au/danby-blast-huawei-hits-back/#respond Tue, 05 Jun 2018 04:33:47 +0000 http://smartoffice.com.au/?p=96111 The Australian chairman of Chinese telecoms giant Huawei has hit back at claims by a Labor MP that his company is effectively controlled by Beijing and poses a national security risk. The strong defence by chairman Jon Lord followed an attack on the company by Labor’s Michael Danby in Federal Parliament. It comes as Parliament considers ... Read more

    The post Danby Blast: Huawei Hits Back appeared first on Smart Office.

    ]]>
    The Australian chairman of Chinese telecoms giant Huawei has hit back at claims by a Labor MP that his company is effectively controlled by Beijing and poses a national security risk.

    The strong defence by chairman Jon Lord followed an attack on the company by Labor’s Michael Danby in Federal Parliament. It comes as Parliament considers whether Huawei should be permitted to participate in the construction of Australia’s 5G mobile network, due next year.

    In Danby’s attack, he said: “Huawei and ZTE must report to a Communist Party cell at the top of their organisations” and added: “Let me issue a clarion call to this Parliament: Australians 5G network must not be sold to these telcos.”

    Huawei’s John Lord said Danby was wrong and his company would do all it could to assure authorities it was not a risk. He said Huawei was owned by its employees – the Chinese government did not own any shares.

    Lord added that Huawei would be willing to give Australian intelligence agencies oversight of its operations, as it has done in the UK.

    Other commentators have noted that Danby appeared confused about the nature of the planned 5G network, which is not being “sold” to Huawei or any other operator. The work in question will presumably be contested by telcos and operators like Huawei, Sweden’s Ericsson and Australia’s Telstra and Optus.

    The post Danby Blast: Huawei Hits Back appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/danby-blast-huawei-hits-back/feed/ 0
    Samsung Banks On M&A Targets https://smartoffice.com.au/samsung-banks-ma-targets/ https://smartoffice.com.au/samsung-banks-ma-targets/#respond Mon, 04 Dec 2017 00:29:03 +0000 http://smartoffice.com.au/?p=95856 Samsung Electronics’ US$8 billion purchase of automotive and audio electronics company Harman – announced earlier this year – has given the technology conglomerate confidence to chase more big deals, its strategy chief has said. Harman believes it can triple sales by 2025, CEO Dinesh Palliwal said in an interview at the IFA consumer electronics fair ... Read more

    The post Samsung Banks On M&A Targets appeared first on Smart Office.

    ]]>
    Samsung Electronics’ US$8 billion purchase of automotive and audio electronics company Harman – announced earlier this year – has given the technology conglomerate confidence to chase more big deals, its strategy chief has said.

    Harman believes it can triple sales by 2025, CEO Dinesh Palliwal said in an interview at the IFA consumer electronics fair here.


    Young Sohn, Samsung’s Silicon Valley-based chief strategy officer, said the move will see Samsung expand in automotive markets, digital health and industrial automation. “We are committed to using M&A as our tool, (and) I think the Harman acquisition helped us to have more confidence,” Sohn told Reuters. “I believe we can do lot more going forward.”

    The post Samsung Banks On M&A Targets appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/samsung-banks-ma-targets/feed/ 0
    Aussie Love Affair With Mobile Phones Creating Problems: Report https://smartoffice.com.au/aussie-love-affair-with-mobile-phones-creating-problems-report/ https://smartoffice.com.au/aussie-love-affair-with-mobile-phones-creating-problems-report/#respond Tue, 21 Nov 2017 22:23:27 +0000 http://smartoffice.com.au/?p=95807 SYDNEY – Australians’ increasing desire to be constantly connected and continuously consuming is leading to data-plan blowouts, hidden costs and more people switching operators, according to a new Deloitte report. Deloitte’s Mobile Consumer Survey 2017 has calculated that Australians look at their mobile phone screens no less than 560 million times a day, equating to ... Read more

    The post Aussie Love Affair With Mobile Phones Creating Problems: Report appeared first on Smart Office.

    ]]>
    SYDNEY – Australians’ increasing desire to be constantly connected and continuously consuming is leading to data-plan blowouts, hidden costs and more people switching operators, according to a new Deloitte report.

    Deloitte’s Mobile Consumer Survey 2017 has calculated that Australians look at their mobile phone screens no less than 560 million times a day, equating to more than 35 glances a day by each Aussie old enough to have a mobile.

    “Bigger data plans and increasingly available free Wi-Fi hotspots are facilitating our connected way of life, although not sufficiently according to our research,” according to Deloitte executive Jeremy Drumm.

    “The number of people streaming content and watching live TV on phones has tripled since 2016, with 25pc of 18-34 year olds watching live TV on their smartphones weekly.”

    But he said this trend does have a knock-on effect, with 43pc of Australians “fairly often” or “very often exceeding monthly data limits. The survey highlighted that those on 3-5GB plans are twice as likely to exceed their limits as those with 500MB or less of data.

    The survey also found that smartphones are becoming an invaluable workplace tool, with 67pc of respondents consistently using their phone for work. And no fewer than 26pc often use their phone for business purposes outside normal work hours.

    To the surprise of some, Drumm sees this not as an undesirable situation but “a huge opportunity to optimise mobile for basic work tasks that can be undertaken on the move and transform the way we work.”

    Ahem. That’s a transformation that at least some of use can do without. – DF

    The post Aussie Love Affair With Mobile Phones Creating Problems: Report appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/aussie-love-affair-with-mobile-phones-creating-problems-report/feed/ 0
    EXCLUSIVE: Amaysim Admits To Selling Non-Compliant Smartphones https://smartoffice.com.au/exclusive-phone-carrier-admits-selling-non-compliant-smartphones/ https://smartoffice.com.au/exclusive-phone-carrier-admits-selling-non-compliant-smartphones/#respond Tue, 24 Oct 2017 00:07:54 +0000 http://smartoffice.com.au/?p=95703 Serious questions have been raised about the source of products being offered on a brand new amaysim telco site that is being pitched as “discount heaven” for people looking for cheap smartphones. An investigation by ChannelNews reveals that the bulk of the branded smartphone devices set to be offered by amaysim on their shop.amaysim.com.au website ... Read more

    The post EXCLUSIVE: Amaysim Admits To Selling Non-Compliant Smartphones appeared first on Smart Office.

    ]]>
    Serious questions have been raised about the source of products being offered on a brand new amaysim telco site that is being pitched as “discount heaven” for people looking for cheap smartphones.

    An investigation by ChannelNews reveals that the bulk of the branded smartphone devices set to be offered by amaysim on their shop.amaysim.com.au website is being grey imported from questionable suppliers in Asia.

    Executives at several leading phone brands have said that consumers are taking a “massive risk” buying products that have not been certified for use in Australia by both carriers and the Australian Mobile Telecommunication Association.

    We have also discovered that amaysim are also the owners of the BuyMobile.com.au a web site which according to several leading phone brands are selling grey imported smartphones which could also be a risk to consumers.

    One of the brands being listed on the new amaysim and the Buy Mobile web site is Motorola.

    Also being sold are Apple, Samsung, Alcatel, HTC, Huawei and LG smartphones.

    According to Danny Adamopoulos the General Manager of Sales for Motorola in both Australia and Asia said that his Company “had not” supplied the devices to amaysim.

    “They do not have an account with us nor have we supplied devise to these Companies, these are not Australian certified Motorola devices”.

    “If these products have come from Hong Kong they are going to be wrong for the Australian consumer, they could even be Chinese models. We need to investigate this further”.

    Sam Skontos the Managing Director of Alcatel in Australia said that his Company had not supplied amaysim with their Blackberry range of smartphones which are also ranged on amaysim web sites.

    He said “We recently purchased one of our Blackberry products listed on the Buy Mobile website which when you inspect the small print is owned by Amaysim. We discovered that this device came from Hong Kong and was not made for the Australian market”.

    He added “Consumers are taking a major risk buying products that are not certified. A smartphone bought through proper channels or a device that has been supplied by an Australian distributor or vendor has to undergo rigorous certification processes”.

    “In Australia people have died buying telecommunication products that have not been certified” said Skontas.

    Back in July 2016, the NSW Commissioner for Fair Trading pursued legal action against Huadi Bi – the director of Hau Yang Australia International Trading and Investment Pty Ltd – for selling a faulty $4.95 USB charger, resulting in the death of Sheryl Anne Aldegeur.

    Bi’s company is facing penalties up to $605,000, following the prosecution of first offences under Section 15 of the Electricity Consumer Safety Act.

    Ms Aldegeur, aged 28 years old, obtained the faulty item from Bi’s Campsie-based store. In April 2014, Aldegeur was found dead wearing headphones in her East Gosford home – presumably electrocuted, as the faulty charger sent a high current through her body.

    The AMTA (Australian Mobile Telecommunications Association) has affirmed that ‘grey import’ smartphones pose potential risks for Australian consumers and network carriers.

    Compliant mobile phones receive certification from Australia’s regulating body, the ACMA (Australian Communications & Media Authority).

    This certification confirms that devices meet the safety standards for national network integration, and also include the functionality to make ‘triple zero emergency phone calls’ without requiring a SIM card.

    AMTA Chief Financial Officer, Glenn Brown, describes the two major risks posed by ‘rogue phones’:

    “In terms of compliance, one of the issues that we see, is being able to meet the requirement of Australia’s triple zero service. In Australia, a compliant phone has to have the ability to make a triple zero emergency call with, or without a sim card”

    “If the phones are not compliant, does the consumer have confidence that the feature set of the phone will allow the same functionality, that Australian consumers take for granted, with compliant handsets?”

    Mr Brown states whilst some grey import phones are not compliant in Australia, it doesn’t necessarily mean devices won’t feature triple zero functionality, however, “there’s no way to know before [consumers] purchase, so that’s a concern”.

    Mr Brown also states that non-compliant phones haven’t been tested, to ensure they meet the safety standards for Australian network integration:

    “The other concern, is of course, from a carrier’s point of view – some non-compliant phones could well cause disruption to networks, and certainly not work in conjunction with how the networks have been set up. These ‘rogue phones’, therefore, could cause signal cancelling and other interference to the normal user”

    “Non-compliant phones haven’t been tested to ensure they meet the safety standards for network integration”.

    According to sources amaysim is also looking at selling other consumer electronic goods online in the future and is working on becoming an online tech store focusing on connected devices at highly competitive prices.

    The only problem is the Company is not saying what percentage of the products are sourced from overseas and have not been certified for the Australian market.

    Julian Rosenberg a spokesperson for amaysim admitted that goods being sold on their new site and their Buy Mobile site were sourced from overseas.

    He claimed that the Company “unpacked the overseas goods and checked them before they were sold onto consumers.

    He was not able to elaborate what cost this added to the cost of the goods being sold via the Companies web sites, or whether the Company tested for compliance with Australian networks or power supply.

    The Company is claiming that consumers can save as much as $200 on devices they are also offering a two-year warranty on devices.

    They are also planning to offer financing that will not be linked to customers’ phone plans which the Company claims will remain free to change providers at any time without being forced to pay-out the leftover balance all in one go.

    There is no mention on the shop.amaysim.com.au site or the Buy.Mobile site that the overseas sourced smartphones are not compliant for Australia.

    Roma Christian contributed to this story. 

    The post EXCLUSIVE: Amaysim Admits To Selling Non-Compliant Smartphones appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/exclusive-phone-carrier-admits-selling-non-compliant-smartphones/feed/ 0
    New Huawei 10 Pro Fails To Deliver Superior Images Despite New Engine https://smartoffice.com.au/new-huawei-10-pro-fails-deliver-superior-images-despite-new-engine/ https://smartoffice.com.au/new-huawei-10-pro-fails-deliver-superior-images-despite-new-engine/#respond Tue, 17 Oct 2017 00:44:42 +0000 http://smartoffice.com.au/?p=95694 Huawei has moved to take on both Samsung and Apple in the premium smartphone market, with the launch a new $899 Huawei Mate 10 and Mate 10 Pro, that will sell for $1,100. The unlock key is a new Chinese developed engine that the Company claims is superior to their competitors and delivers “superior image ... Read more

    The post New Huawei 10 Pro Fails To Deliver Superior Images Despite New Engine appeared first on Smart Office.

    ]]>
    Huawei has moved to take on both Samsung and Apple in the premium smartphone market, with the launch a new $899 Huawei Mate 10 and Mate 10 Pro, that will sell for $1,100.

    The unlock key is a new Chinese developed engine that the Company claims is superior to their competitors and delivers “superior image capture”.

    One of the biggest claims is that Huawei’s AI processing will be able to significantly reduce the phone’s performance degradation over time, which the company has identified as a major problem with Android devices in general.

    During an exclusive briefing with both ChannelNews and SmartHouse we were able to get a hands-on look at the two new devices last week, we also saw the devices at IFA in Belin last month.

    The new object-recognition capabilities built into the Mate 10 Pro help them take better photos than the competition claim Huawei. Many smartphone cameras make automatic tweaks to the images they take, but Huawei suggests its technology takes this to the next level.

    In a direct shootout with the Samsung Note 8 the Huawei Mate 10 Pro which comes with a 6in (15cm) OLED screen, there is also a slightly smaller 5.9in LED version, was not able to deliver a superior picture.

    At first the images we shot appeared to have a yellow tint.

    When we turned off the HDR setting the image was on par with an image shot indoors with the Samsung Note 8 but not superior.

    The main difference between the two new Huawei phones is in screen size and shape. The Mate 10 features a 5.9-inch 2560 x 1440 LCD while the Mate 10 Pro’s display is a 6-inch 2160 x 1080 OLED.

    The standard Mate 10’s sharper 16:9 screen looks good and the device feels good in the hand.

    That camera setup includes a 20-megapixel colour sensor and a secondary 12-megapixel monochrome sensor designed to gather additional information and detail.

    The Pro has 6GB of RAM and 128GB of storage, while the Porsche Design model comes with 6GB of RAM and ups the storage to 256GB.
    The Mate 10 is 8.2mm thick and has a fingerprint sensor below the screen.

    They each feature a Kirin 970 CPU, 4GB of RAM, a 4,000mAh battery, 64GB of storage, and dual cameras with f/1.6 lenses.

    Huawei says it trained the Mate 10’s camera-controlling algorithms with more than 100 million pictures to teach them to recognise different scenarios and items.

    To ensure the decisions are taken quickly enough, has developed its own processor – the Kirin 970 – which has a neural processing unit (NPU) in addition to the standard central processing unit (CPU) and graphics processing unit (GPU) used to power most computers

    Huawei claims that the engine can distinguish between cats and dogs in a split-second, allowing it to automatically tweak how their fur and eyes appear in an image, we had neither a dog or cat to test their theory.

    Their engineers claim that because cats’ eyes are more reflective than dogs’, in bright interior light and sunlight the camera adjusts down the ISO level when a close-up of the animal is being taken.

     

    To take account of differences in the type of hair or fur the pets have, the software alters the image sharpness via the amount of noise reduction it applies since the camera has been trained to expect cats to be smaller than dogs, it also makes an adjustment to the depth of field.

    The architecture of the NPU is a specialised part of the chip designed to handle matrix multiplications at speed – a type of calculation used by artificial intelligence neural networks, which attempt to mimic the way the brain works.

    The only problem is that Huawei is now pushing artificial intelligence in their new phones despite most consumers not understanding why they need artificial intelligence.

    “Without doing lots of tests, it’s difficult to tell how much value this really adds to the camera capabilities,” said Ben Wood, from the technology consultancy CCS Insight.

    Huawei says the inclusion of an NPU in its chip allows it to recognise about 2,000 images per minute.
    That is about double the rate that the new A11 processor in the iPhone 8 would be able to handle, Huawei says.

    “I don’t believe most consumers understand what AI is,” said Mr Wood. “So, if Huawei intends to market the new phones around the technology, it will have to clearly articulate what the benefits are beyond it just being the buzzword of the moment.”

    Huawei who is currently trailing several brands in Australia is struggling to gain market share as new competitors like Nokia enter the market and HTC get a new lease of life as they cuddle up to Google.

    In Australia, the Huawei Mate 10 will be available through Vodafone and the open channel in black from November 15th. It will be priced at an SPR of $899.

    The Huawei Mate 10 Pro will be an Opus-exclusive, available only in blue.

    The post New Huawei 10 Pro Fails To Deliver Superior Images Despite New Engine appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/new-huawei-10-pro-fails-deliver-superior-images-despite-new-engine/feed/ 0
    Apple Stock Plummets $50 Billion https://smartoffice.com.au/apple-stock-plummets-50-billion/ https://smartoffice.com.au/apple-stock-plummets-50-billion/#respond Mon, 25 Sep 2017 01:01:47 +0000 http://smartoffice.com.au/?p=95564 Apple shares tumbled by US$50 billion on Friday, a sum bigger than the entire value of companies such as eBay or Ford. The company released its latest line-up of products on September 12, including the iPhone X, iPhone 8, iPhone 8 Plus, Apple TV 4K, and Apple Watch Series 3. The day before the launch, ... Read more

    The post Apple Stock Plummets $50 Billion appeared first on Smart Office.

    ]]>
    Apple shares tumbled by US$50 billion on Friday, a sum bigger than the entire value of companies such as eBay or Ford.

    The company released its latest line-up of products on September 12, including the iPhone X, iPhone 8, iPhone 8 Plus, Apple TV 4K, and Apple Watch Series 3.

    The day before the launch, Apple had a market worth of US$834.9 billion but by the closing bell on Friday, its market value had fallen to about $782.5 billion. However the value of Apple is still about $100 billion bigger than Google-parent Alphabet.

    Part of the reason for the share plunge appears to be problems with the latest Apple Watch whose new mobile phone technology simply does not work, according to journalists who have been testing the new devices.

    Apple may also have been hit by fewer orders than expected for the forthcoming iPhoneX, which carries a record high price – as much as $1829 in Australia.

    Gene Munster, an investor at Loup Ventures and a former top Apple analyst, had predicted a fall of up to 10 percent in Apple shares. He noted the stock had risen 50 percent in the past year, and said, “Naturally there’s going to be some people taking some profits.”

    The post Apple Stock Plummets $50 Billion appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/apple-stock-plummets-50-billion/feed/ 0
    Is The iPhone 8 A Stunning New Phone Or A Glorified Update? https://smartoffice.com.au/iphone-8-stunning-new-phone-glorified-update/ https://smartoffice.com.au/iphone-8-stunning-new-phone-glorified-update/#respond Tue, 12 Sep 2017 23:42:26 +0000 http://smartoffice.com.au/?p=95432 Serious questions are being raised about the new Apple iPhone 8 offering with some saying it’s more an upgrade than a brand-new phone oozing new technology. Tim Cook Apple CEO Said “It’s truly amazing how much iPhone impacts the world each and every day. Our intention with iPhone has always been to create something so ... Read more

    The post Is The iPhone 8 A Stunning New Phone Or A Glorified Update? appeared first on Smart Office.

    ]]>
    Serious questions are being raised about the new Apple iPhone 8 offering with some saying it’s more an upgrade than a brand-new phone oozing new technology.

    Tim Cook Apple CEO Said “It’s truly amazing how much iPhone impacts the world each and every day. Our intention with iPhone has always been to create something so powerful, so immersive and so magical, that the hardware virtually disappears.”

    So far, the changes to iPhone 8 are what you’d expect from an annual smartphone upgrade. Stronger glass. Improved speakers. An A11 “bionic” chip.

    Glass on the front and back. Silver, space grey, and gold. “The design is all new” claims Cook, some said “Oh really”.

    “The first iPhone forever changed how we interact with technology by introducing multitouch.” said Cook.

    The show was then handed over to Tim Schiller.

    He said that the new device will have custom aluminium alloy, glass and a seven-layer colour process, internal steel and copper structure.

    “The glass is the most durable ever in a smartphone” The same was said at the HTC 11 launch and the Samsung Note launch.

    You get “New displays, with True Tone that adapts colour and temperature to ambient light”.

    There are “new stereo speakers that are 25 percent louder than iPhone 7. “Deeper bass” claims Shiller.

    We have still not seen any apple breakthrough with their iPhone 8.

    Tim pulls the “one more thing” card. This isn’t as much of a surprise as the iPod was, but it’s going to be quite big.

    Cook says it’ll “set the path of technology for the next decade”. We’ll see. It’s called the iPhone X. And it’s pronounced iPhone Ten.

    Schiller’s not done yet, and he returns to announce the biggest change coming to the iPhone 8: wireless charging something that both LG and Samsung have had for more than two years, the big winner out of this deal appears to be Belkin.

    The iPhone 8 and 8 Plus will now support the Qi wireless charging standard – that’s the one which is built into a lot of IKEA furniture. You’ll soon be able to charge your phone by just leaving it on your bedside table.

    the iPhone 8 looks a lot like the iPhone 7, but it’s now all-glass, and it comes in three colours (silver, grey and rose gold).

    There are some new features in this phone, including the True Tone tech carried over from the iPad.

    The camera itself gets a new sensor and new colour filter on the normal 8, while the 8 Plus gets two new sensors for its two new cameras, and the telephoto lens gets better in low light.

    the 8 Plus can now use the two cameras to build a depth map of a portrait photo, and artificially alter the lighting of the images.

    Schiller also calls the iPhone the first phone “designed for Augmented Reality” I think someone needs to remind him about Google’s Project Tango.

    Games developer Alti Mar, from Directive Games, arrives to show a multiplayer AR tower defence game. I’m bored already.

    The iPhone 8 and 8 Plus are upgrades to Apple’s current iPhone 7 and 7 Plus range, updating some of the main features found on Apple’s current products.

    Initially, most pundits thought the iPhone 8 would be Apple’s main new phone – however it instead released three smartphones as part of the 10th anniversary of the original iPhone.

    The iPhone 8 and iPhone 8 Plus are similar in appearance to the current iPhone 7 and 7 Plus.

    The smaller version has a 4.7-inch screen, while the larger phone has a 5.5-inch screen and a dual camera lens on the back.

    The processor is the A11 Bionic, “the most powerful and smartest chip ever in a smartphone,” Apple says.

    “The new iPhone will have the most durable glass ever in a smartphone,” says Schiller.

    Both models will have a HD retina display and feature a 12MP camera.

    The iPhone 8 will be available in silver, space grey and a new blush gold colour.

    Wireless charging, a big win for Belkin

    Like the iPhone X, the two-new iPhone 8 and 8 Plus phones will come with wireless charging capabilities.

    This means the phone can be charged by simply placing it on a power pad. It is the first time the technology has come to the iPhone range.

    “This is a simple thing. We do it every day. We use them every day and charge every night,” said Schiller.

    “Words can’t describe how much nicer it is to never plug in a cable again.”

    iOS 11

    The new iPhones will come with Apple’s new operating system iOS 11. iOS 11 includes hundreds of new features like a redesigned control centre, better multitasking, improvements to the camera, peer-to-peer Apple Pay and new safety features.

    Dual camera

    The iPhone 8 Plus will have a 12MP dual-lens camera, like the one featured on the iPhone 7 Plus released last year.

    It features a larger and faster sensor, a new colour filter and deeper pixels.

    Video

    Apple claims the new camera delivers “the highest quality video capture ever in a smartphone” with better video stabilisation and 4K video up to 60fps.

    While the demise of the home button and Touch ID on the iPhone X has been in the news, the iPhone 8 will maintain the button and Touch ID. It won’t, however, have facial recognition.

    iPhone 8 and 8 Plus is cheaper than the new iPhone X 10 and on sale sooner, and will be available in space grey, silver and gold. Again, there will be both 64GB and 256GB models. The 64GB models start at $1079 for iPhone 8 and $1229 for iPhone 8 Plus. Preorder begin this Friday, September 15, with the phone going on sale the following Friday, September 22.

    The post Is The iPhone 8 A Stunning New Phone Or A Glorified Update? appeared first on Smart Office.

    ]]>
    https://smartoffice.com.au/iphone-8-stunning-new-phone-glorified-update/feed/ 0