public function saveAs(Io_File $file_) { $this->engine()->save($file_->m_pathAsString, $file_->getMimetype()); return $this; }
public function printFile(Io_File $file_, $subPath_, $mimeTypeIconSize_ = Io_Mimetype::ICON_SIZE_64) { $actions = []; foreach ($this->m_fileActionsJs as $name => $action) { if (false === ($callback = call_user_func_array($action['callback'], [$file_]))) { continue; } $function = array_shift($callback); $actions[] = sprintf('<a href="javascript:void(0);" onclick="%3$s(%4$s);" class="%1$s">%2$s</a>', $name, $action['title'], $function, strtr(json_encode(array_merge([$subPath_], $callback)), '"', "'")); } $actionRemove = sprintf('<a href="javascript:void(0);" onclick="%3$s" class="%1$s">%2$s</a>', 'remove', 'Remove', $this->callback(['remove' => $subPath_])); echo '<div class="file">'; if ($mimeTypeIconSize_ > Io_Mimetype::ICON_SIZE_16) { printf(' <div class="icon"> <img src="%1$s" alt="%2$s" title="%2$s"/> </div> <div class="info"> <a href="javascript:void(0);" class="label">%2$s</a>', $file_->getMimetype()->icon($mimeTypeIconSize_), $subPath_); array_unshift($actions, $actionRemove); } else { printf(' <div class="info"> <img src="%1$s" alt="%2$s" title="%2$s"/> <a href="javascript:void(0);" class="label">%2$s</a>', $file_->getMimetype()->icon($mimeTypeIconSize_), $subPath_); array_push($actions, $actionRemove); } printf(' <span class="type">%1$s</span> <span class="size">%2$s</span> <span class="links">%3$s</span> </div> <br class="clear"/> </div>', ucfirst($file_->getMimetype()->title()), $file_->getSize()->formatAsBytes(2), implode(' | ', $actions)); }