155 lines
3.0 KiB
Plaintext
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
|
|
} |