Invision Power Services, Inc. * @copyright (c) Invision Power Services, Inc. * @license https://www.invisioncommunity.com/legal/standards/ {subpackage} * @since {date} */ namespace IPS\{app}\extensions\convert\Software; use IPS\convert\App; use IPS\convert\Software as ConverterSoftware; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } class {class} extends ConverterSoftware { /** * Software Name * * @return string */ public static function softwareName(): string { /* Child classes must override this method */ return "{class}"; } /** * Software Key * * @return string */ public static function softwareKey(): string { /* Child classes must override this method */ return mb_strtolower( '{class}' ); } /** * Content we can convert from this software. * * @return array|null */ public static function canConvert(): ?array { return [ ]; } /** * Can we convert passwords from this software. * * @return boolean */ public static function loginEnabled(): bool { return FALSE; } /** * Can we convert settings? * * @return boolean */ public static function canConvertSettings(): bool { return FALSE; } /** * Settings Map * * @return array */ public function settingsMap(): array { return []; } /** * Settings Map Listing * * @return array */ public function settingsMapList(): array { return []; } /** * Returns a block of text, or a language string, that explains what the admin must do to start this conversion * * @return string|null */ public static function getPreConversionInformation(): ?string { return NULL; } /** * List of conversion methods that require additional information * * @return array */ public static function checkConf(): array { return []; } /** * Get More Information * * @param string $method Conversion method * @return array|null */ public function getMoreInfo( string $method ): ?array { return []; } /** * Finish - Adds everything it needs to the queues and clears data store * * @return array Messages to display */ public function finish(): array { return []; } /** * Pre-process content for the Invision Community text parser * * @param string The post * @param string|null Content Classname passed by post-conversion rebuild * @param int|null Content ID passed by post-conversion rebuild * @param App|null App object if available * @return string The converted post */ public static function fixPostData( string $post, ?string $className=null, ?int $contentId=null, ?App $app=null ): string { return $post; } // Insert convertX methods here }