/** * Return the arguments to pass to the uichess-chessboard widget. * * @return array */ public function getWidgetArgs() { if (!isset($this->widgetArgs)) { $this->widgetArgs = array('pgn' => $this->getContent()); $atts = $this->getAttributes(); $chessboardOptions = array(); // Orientation $value = isset($atts['flip']) ? RPBChessboardHelperValidation::validateBoolean($atts['flip']) : null; if (isset($value)) { $chessboardOptions['flip'] = $value; } // Square size $value = isset($atts['square_size']) ? RPBChessboardHelperValidation::validateSquareSize($atts['square_size']) : null; $chessboardOptions['squareSize'] = isset($value) ? $value : $this->getDefaultSquareSize(); // Show coordinates $value = isset($atts['show_coordinates']) ? RPBChessboardHelperValidation::validateBoolean($atts['show_coordinates']) : null; $chessboardOptions['showCoordinates'] = isset($value) ? $value : $this->getDefaultShowCoordinates(); // Animation speed $value = isset($atts['animation_speed']) ? RPBChessboardHelperValidation::validateAnimationSpeed($atts['animation_speed']) : null; $chessboardOptions['animationSpeed'] = isset($value) ? $value : $this->getDefaultAnimationSpeed(); // Move arrow $value = isset($atts['show_move_arrow']) ? RPBChessboardHelperValidation::validateBoolean($atts['show_move_arrow']) : null; $chessboardOptions['showMoveArrow'] = isset($value) ? $value : $this->getDefaultShowMoveArrow(); // Piece symbols $value = isset($atts['piece_symbols']) ? RPBChessboardHelperValidation::validatePieceSymbols($atts['piece_symbols']) : null; $this->widgetArgs['pieceSymbols'] = isset($value) ? $value : $this->getDefaultPieceSymbols(); // Navigation board $value = isset($atts['navigation_board']) ? RPBChessboardHelperValidation::validateNavigationBoard($atts['navigation_board']) : null; $this->widgetArgs['navigationBoard'] = isset($value) ? $value : $this->getDefaultNavigationBoard(); // Use the same aspect parameters for the navigation board and the text comment diagrams. $this->widgetArgs['navigationBoardOptions'] = $chessboardOptions; $this->widgetArgs['diagramOptions'] = $chessboardOptions; } return $this->widgetArgs; }
private static function processNavigationBoard() { if (isset($_POST['navigationBoard'])) { $value = RPBChessboardHelperValidation::validateNavigationBoard($_POST['navigationBoard']); if (isset($value)) { update_option('rpbchessboard_navigationBoard', $value); } } }
/** * Constructor. */ public function __construct() { // Load the square-size parameter. if (isset($_POST['squareSize'])) { $this->squareSize = RPBChessboardHelperValidation::validateSquareSize($_POST['squareSize']); } // Load the piece symbol parameter. if (isset($_POST['pieceSymbols'])) { $this->pieceSymbols = self::loadPieceSymbols(); } // Load the navigation board parameter. if (isset($_POST['navigationBoard'])) { $this->navigationBoard = RPBChessboardHelperValidation::validateNavigationBoard($_POST['navigationBoard']); } // Load the boolean parameters. $this->showCoordinates = self::loadBooleanParameter('showCoordinates'); $this->fenCompatibilityMode = self::loadBooleanParameter('fenCompatibilityMode'); $this->pgnCompatibilityMode = self::loadBooleanParameter('pgnCompatibilityMode'); $this->smallScreenCompatibility = self::loadBooleanParameter('smallScreenCompatibility'); // Load the small-screen options if (isset($_POST['smallScreenModes'])) { $this->smallScreenModes = self::loadSmallScreenModes(); } }
/** * Default navigation board position. * * @return string */ public function getDefaultNavigationBoard() { if (!isset(self::$navigationBoard)) { $value = RPBChessboardHelperValidation::validateNavigationBoard(get_option('rpbchessboard_navigationBoard')); self::$navigationBoard = isset($value) ? $value : self::DEFAULT_NAVIGATION_BOARD; } return self::$navigationBoard; }