Files
2025-12-19 18:55:49 -08:00

155 lines
3.0 KiB
Plaintext

<?php
/**
* @brief Converter Software Extension
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
* @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
}