Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/core/componen...
File: SupportCenter.php
$message_minimum = sprintf(
[1500] Fix | Delete
esc_html__( 'This meets our minimum required value of %1$s. ', 'et-core' ),
[1501] Fix | Delete
esc_html( is_bool( $scan['minimum'] ) ? $this->boolean_label[ $scan['minimum'] ] : $scan['minimum'] )
[1502] Fix | Delete
);
[1503] Fix | Delete
}
[1504] Fix | Delete
[1505] Fix | Delete
/**
[1506] Fix | Delete
* Build description messaging for results & recommendation
[1507] Fix | Delete
*/
[1508] Fix | Delete
$learn_more_link = '';
[1509] Fix | Delete
if ( ! is_null( $scan['learn_more'] ) ) {
[1510] Fix | Delete
$learn_more_link = sprintf( ' <a href="%1$s" target="_blank">%2$s</a>',
[1511] Fix | Delete
esc_url( $scan['learn_more'] ),
[1512] Fix | Delete
esc_html__( 'Learn more.', 'et-core' )
[1513] Fix | Delete
);
[1514] Fix | Delete
}
[1515] Fix | Delete
[1516] Fix | Delete
switch ( $system_diagnostics_settings[ $i ]['pass_fail'] ) {
[1517] Fix | Delete
case 'pass':
[1518] Fix | Delete
$system_diagnostics_settings[ $i ]['description'] = sprintf(
[1519] Fix | Delete
'- %1$s %2$s',
[1520] Fix | Delete
sprintf(
[1521] Fix | Delete
esc_html__( 'Congratulations! This meets or exceeds our recommendation of %1$s.', 'et-core' ),
[1522] Fix | Delete
esc_html( is_bool( $scan['recommended'] ) ? $this->boolean_label[ $scan['recommended'] ] : $scan['recommended'] )
[1523] Fix | Delete
),
[1524] Fix | Delete
et_core_intentionally_unescaped( $learn_more_link, 'html' )
[1525] Fix | Delete
);
[1526] Fix | Delete
break;
[1527] Fix | Delete
case 'minimal':
[1528] Fix | Delete
case 'fail':
[1529] Fix | Delete
$system_diagnostics_settings[ $i ]['description'] = sprintf(
[1530] Fix | Delete
'- %1$s%2$s %3$s',
[1531] Fix | Delete
esc_html( $message_minimum ),
[1532] Fix | Delete
sprintf(
[1533] Fix | Delete
esc_html__( 'We recommend %1$s for the best experience.', 'et-core' ),
[1534] Fix | Delete
esc_html( is_bool( $scan['recommended'] ) ? $this->boolean_label[ $scan['recommended'] ] : $scan['recommended'] )
[1535] Fix | Delete
),
[1536] Fix | Delete
et_core_intentionally_unescaped( $learn_more_link, 'html' )
[1537] Fix | Delete
);
[1538] Fix | Delete
break;
[1539] Fix | Delete
case 'unknown':
[1540] Fix | Delete
default:
[1541] Fix | Delete
$system_diagnostics_settings[ $i ]['description'] = sprintf(
[1542] Fix | Delete
esc_html__( '- We are unable to determine your setting. %1$s', 'et-core' ),
[1543] Fix | Delete
et_core_intentionally_unescaped( $learn_more_link, 'html' )
[1544] Fix | Delete
);
[1545] Fix | Delete
}
[1546] Fix | Delete
}
[1547] Fix | Delete
[1548] Fix | Delete
// If we just want the array (not a formatted HTML block), return that now
[1549] Fix | Delete
if ( false === $formatted ) {
[1550] Fix | Delete
return $system_diagnostics_settings;
[1551] Fix | Delete
}
[1552] Fix | Delete
[1553] Fix | Delete
foreach ( $system_diagnostics_settings as $item ) {
[1554] Fix | Delete
// Add reported setting to plaintext report:
[1555] Fix | Delete
if ( 'plain' === $format ) {
[1556] Fix | Delete
switch ( $item['pass_fail'] ) {
[1557] Fix | Delete
case 'pass':
[1558] Fix | Delete
$status = ' ';
[1559] Fix | Delete
break;
[1560] Fix | Delete
case 'minimal':
[1561] Fix | Delete
$status = '~ ';
[1562] Fix | Delete
break;
[1563] Fix | Delete
case 'fail':
[1564] Fix | Delete
$status = "! ";
[1565] Fix | Delete
break;
[1566] Fix | Delete
case 'unknown':
[1567] Fix | Delete
default:
[1568] Fix | Delete
$status = '? ';
[1569] Fix | Delete
}
[1570] Fix | Delete
[1571] Fix | Delete
$report .= $status . $item['name'] . PHP_EOL
[1572] Fix | Delete
. ' ' . $item['actual'] . PHP_EOL . PHP_EOL;
[1573] Fix | Delete
}
[1574] Fix | Delete
[1575] Fix | Delete
// Add reported setting to table:
[1576] Fix | Delete
if ( 'div' === $format ) {
[1577] Fix | Delete
$help_text = '';
[1578] Fix | Delete
if ( ! is_null( $item['help_text'] ) ) {
[1579] Fix | Delete
$help_text = $item['help_text'];
[1580] Fix | Delete
}
[1581] Fix | Delete
[1582] Fix | Delete
$report .= sprintf( '<div class="et-epanel-box et_system_status_row et_system_status_%1$s">
[1583] Fix | Delete
<div class="et-box-title setting">
[1584] Fix | Delete
<h3>%2$s</h3>
[1585] Fix | Delete
<div class="et-box-descr"><p>%3$s</p></div>
[1586] Fix | Delete
</div>
[1587] Fix | Delete
<div class="et-box-content results">
[1588] Fix | Delete
<span class="actual">%4$s</span>
[1589] Fix | Delete
<span class="description">%5$s</span>
[1590] Fix | Delete
</div>
[1591] Fix | Delete
<span class="et-box-description"></span>
[1592] Fix | Delete
</div>',
[1593] Fix | Delete
esc_attr( $item['pass_fail'] ),
[1594] Fix | Delete
esc_html( $item['name'] ),
[1595] Fix | Delete
et_core_intentionally_unescaped( $help_text, 'html' ),
[1596] Fix | Delete
esc_html( is_bool( $item['actual'] ) ? $this->boolean_label[ $item['actual'] ] : $item['actual'] ),
[1597] Fix | Delete
et_core_intentionally_unescaped( $item['description'], 'html' )
[1598] Fix | Delete
);
[1599] Fix | Delete
}
[1600] Fix | Delete
[1601] Fix | Delete
}
[1602] Fix | Delete
[1603] Fix | Delete
// Prepend title and timestamp
[1604] Fix | Delete
if ( 'plain' === $format ) {
[1605] Fix | Delete
$report = '## ' . esc_html__( 'System Status', 'et-core' ) . ' ##' . PHP_EOL
[1606] Fix | Delete
. ':: ' . date( 'Y-m-d @ H:i:s e' ) . PHP_EOL . PHP_EOL
[1607] Fix | Delete
. $report;
[1608] Fix | Delete
}
[1609] Fix | Delete
if ( 'div' === $format ) {
[1610] Fix | Delete
$report = sprintf( '<div class="%3$s-report">%1$s</div><p class="%3$s-congratulations">%2$s</p>',
[1611] Fix | Delete
$report,
[1612] Fix | Delete
esc_html__( 'Congratulations, all system checks have passed. Your hosting configuration is compatible with Divi.', 'et-core' ),
[1613] Fix | Delete
'et-system-status'
[1614] Fix | Delete
);
[1615] Fix | Delete
}
[1616] Fix | Delete
[1617] Fix | Delete
return $report;
[1618] Fix | Delete
}
[1619] Fix | Delete
[1620] Fix | Delete
/**
[1621] Fix | Delete
* Convert size string with "shorthand byte" notation to raw byte value for comparisons.
[1622] Fix | Delete
*
[1623] Fix | Delete
* @since 3.20
[1624] Fix | Delete
*
[1625] Fix | Delete
* @param string $size
[1626] Fix | Delete
*
[1627] Fix | Delete
* @return int size in bytes
[1628] Fix | Delete
*/
[1629] Fix | Delete
protected function get_size_in_bytes( $size = '' ) {
[1630] Fix | Delete
// Capture the denomination and convert to uppercase, then do math to it
[1631] Fix | Delete
switch ( strtoupper( substr( $size, -1 ) ) ) {
[1632] Fix | Delete
// Terabytes
[1633] Fix | Delete
case 'T':
[1634] Fix | Delete
return (int) $size * 1099511627776;
[1635] Fix | Delete
// Gigabytes
[1636] Fix | Delete
case 'G':
[1637] Fix | Delete
return (int) $size * 1073741824;
[1638] Fix | Delete
// Megabytes
[1639] Fix | Delete
case 'M':
[1640] Fix | Delete
return (int) $size * 1048576;
[1641] Fix | Delete
// Kilobytes
[1642] Fix | Delete
case 'K':
[1643] Fix | Delete
return (int) $size * 1024;
[1644] Fix | Delete
default:
[1645] Fix | Delete
return (int) $size;
[1646] Fix | Delete
}
[1647] Fix | Delete
}
[1648] Fix | Delete
[1649] Fix | Delete
/**
[1650] Fix | Delete
* Convert size string with "shorthand byte" notation to raw byte value for comparisons.
[1651] Fix | Delete
*
[1652] Fix | Delete
* @since 3.20
[1653] Fix | Delete
*
[1654] Fix | Delete
* @param int $bytes
[1655] Fix | Delete
* @param int $precision
[1656] Fix | Delete
*
[1657] Fix | Delete
* @return string size in "shorthand byte" notation
[1658] Fix | Delete
*/
[1659] Fix | Delete
protected function get_size_in_shorthand( $bytes = 0, $precision = 2 ) {
[1660] Fix | Delete
$units = array( ' bytes', 'KB', 'MB', 'GB', 'TB' );
[1661] Fix | Delete
$i = 0;
[1662] Fix | Delete
[1663] Fix | Delete
while ( $bytes > 1024 ) {
[1664] Fix | Delete
$bytes /= 1024;
[1665] Fix | Delete
$i++;
[1666] Fix | Delete
}
[1667] Fix | Delete
[1668] Fix | Delete
return round( $bytes, $precision ) . $units[ $i ];
[1669] Fix | Delete
}
[1670] Fix | Delete
[1671] Fix | Delete
/**
[1672] Fix | Delete
* Size comparisons between two values using a variety of calculation methods.
[1673] Fix | Delete
*
[1674] Fix | Delete
* @since 3.20.2
[1675] Fix | Delete
*
[1676] Fix | Delete
* @param string|int|float $a Our value to compare against
[1677] Fix | Delete
* @param string|int|float $b Server value being compared
[1678] Fix | Delete
* @param string $type Comparison type
[1679] Fix | Delete
*
[1680] Fix | Delete
* @return bool Whether the second value is equal to or greater than the first
[1681] Fix | Delete
*/
[1682] Fix | Delete
protected function value_is_at_least( $a, $b, $type = 'size' ) {
[1683] Fix | Delete
switch ( $type ) {
[1684] Fix | Delete
case 'truthy_falsy':
[1685] Fix | Delete
return $this->value_is_falsy( $a ) === $this->value_is_falsy( $b );
[1686] Fix | Delete
case 'version':
[1687] Fix | Delete
return (float) $a <= (float) $b;
[1688] Fix | Delete
case 'seconds':
[1689] Fix | Delete
return (int) $a <= (int) $b;
[1690] Fix | Delete
case 'size':
[1691] Fix | Delete
default:
[1692] Fix | Delete
return $this->get_size_in_bytes( $a ) <= $this->get_size_in_bytes( $b );
[1693] Fix | Delete
}
[1694] Fix | Delete
}
[1695] Fix | Delete
[1696] Fix | Delete
/**
[1697] Fix | Delete
* Check value against a collection of "falsy" values
[1698] Fix | Delete
*
[1699] Fix | Delete
* @since 3.23
[1700] Fix | Delete
*
[1701] Fix | Delete
* @param string|int|float $a Value to compare against
[1702] Fix | Delete
*
[1703] Fix | Delete
* @return bool Whether the second value is equal to or greater than the first
[1704] Fix | Delete
*/
[1705] Fix | Delete
protected function value_is_falsy( $a ) {
[1706] Fix | Delete
// Accept falsy strings regardless of case (e.g. 'off', 'Off', 'OFF', 'oFf')
[1707] Fix | Delete
if ( is_string( $a ) ) {
[1708] Fix | Delete
$a = strtolower( $a );
[1709] Fix | Delete
}
[1710] Fix | Delete
[1711] Fix | Delete
return in_array( $a, array( false, 'false', 0, '0', 'off' ), true );
[1712] Fix | Delete
}
[1713] Fix | Delete
[1714] Fix | Delete
/**
[1715] Fix | Delete
* SUPPORT CENTER :: REMOTE ACCESS
[1716] Fix | Delete
*/
[1717] Fix | Delete
[1718] Fix | Delete
/**
[1719] Fix | Delete
* Add Support Center options to the Role Editor screen
[1720] Fix | Delete
*
[1721] Fix | Delete
* @see ET_Core_SupportCenter::current_user_can()
[1722] Fix | Delete
*
[1723] Fix | Delete
* @since 3.20
[1724] Fix | Delete
*
[1725] Fix | Delete
* @param $all_role_options
[1726] Fix | Delete
*
[1727] Fix | Delete
* @return array
[1728] Fix | Delete
*/
[1729] Fix | Delete
public function support_user_add_role_options( $all_role_options ) {
[1730] Fix | Delete
[1731] Fix | Delete
$all_role_options['support_center'] = array(
[1732] Fix | Delete
'section_title' => esc_attr__( 'Support Center', 'et-core' ),
[1733] Fix | Delete
'options' => array(
[1734] Fix | Delete
'et_support_center' => array(
[1735] Fix | Delete
'name' => esc_attr__( 'Divi Support Center Page', 'et-core' ),
[1736] Fix | Delete
),
[1737] Fix | Delete
'et_support_center_system' => array(
[1738] Fix | Delete
'name' => esc_attr__( 'System Status', 'et-core' ),
[1739] Fix | Delete
),
[1740] Fix | Delete
'et_support_center_remote_access' => array(
[1741] Fix | Delete
'name' => esc_attr__( 'Remote Access', 'et-core' ),
[1742] Fix | Delete
),
[1743] Fix | Delete
'et_support_center_documentation' => array(
[1744] Fix | Delete
'name' => esc_attr__( 'Divi Documentation &amp; Help', 'et-core' ),
[1745] Fix | Delete
),
[1746] Fix | Delete
'et_support_center_safe_mode' => array(
[1747] Fix | Delete
'name' => esc_attr__( 'Safe Mode', 'et-core' ),
[1748] Fix | Delete
),
[1749] Fix | Delete
'et_support_center_logs' => array(
[1750] Fix | Delete
'name' => esc_attr__( 'Logs', 'et-core' ),
[1751] Fix | Delete
),
[1752] Fix | Delete
),
[1753] Fix | Delete
);
[1754] Fix | Delete
[1755] Fix | Delete
return $all_role_options;
[1756] Fix | Delete
}
[1757] Fix | Delete
[1758] Fix | Delete
/**
[1759] Fix | Delete
* Add third party capabilities to Remote Access roles
[1760] Fix | Delete
*
[1761] Fix | Delete
* @return array Capabilities to add to the Remote Access user roles.
[1762] Fix | Delete
*/
[1763] Fix | Delete
public function support_user_extra_caps_standard( $extra_capabilities = array() ) {
[1764] Fix | Delete
// The Events Calendar (if active on the site)
[1765] Fix | Delete
if ( class_exists( 'Tribe__Events__Main' ) ) {
[1766] Fix | Delete
$the_events_calendar = array(
[1767] Fix | Delete
// Events
[1768] Fix | Delete
'edit_tribe_event' => 1,
[1769] Fix | Delete
'read_tribe_event' => 1,
[1770] Fix | Delete
'delete_tribe_event' => 1,
[1771] Fix | Delete
'delete_tribe_events' => 1,
[1772] Fix | Delete
'edit_tribe_events' => 1,
[1773] Fix | Delete
'edit_others_tribe_events' => 1,
[1774] Fix | Delete
'delete_others_tribe_events' => 1,
[1775] Fix | Delete
'publish_tribe_events' => 1,
[1776] Fix | Delete
'edit_published_tribe_events' => 1,
[1777] Fix | Delete
'delete_published_tribe_events' => 1,
[1778] Fix | Delete
'delete_private_tribe_events' => 1,
[1779] Fix | Delete
'edit_private_tribe_events' => 1,
[1780] Fix | Delete
'read_private_tribe_events' => 1,
[1781] Fix | Delete
// Venues
[1782] Fix | Delete
'edit_tribe_venue' => 1,
[1783] Fix | Delete
'read_tribe_venue' => 1,
[1784] Fix | Delete
'delete_tribe_venue' => 1,
[1785] Fix | Delete
'delete_tribe_venues' => 1,
[1786] Fix | Delete
'edit_tribe_venues' => 1,
[1787] Fix | Delete
'edit_others_tribe_venues' => 1,
[1788] Fix | Delete
'delete_others_tribe_venues' => 1,
[1789] Fix | Delete
'publish_tribe_venues' => 1,
[1790] Fix | Delete
'edit_published_tribe_venues' => 1,
[1791] Fix | Delete
'delete_published_tribe_venues' => 1,
[1792] Fix | Delete
'delete_private_tribe_venues' => 1,
[1793] Fix | Delete
'edit_private_tribe_venues' => 1,
[1794] Fix | Delete
'read_private_tribe_venues' => 1,
[1795] Fix | Delete
// Organizers
[1796] Fix | Delete
'edit_tribe_organizer' => 1,
[1797] Fix | Delete
'read_tribe_organizer' => 1,
[1798] Fix | Delete
'delete_tribe_organizer' => 1,
[1799] Fix | Delete
'delete_tribe_organizers' => 1,
[1800] Fix | Delete
'edit_tribe_organizers' => 1,
[1801] Fix | Delete
'edit_others_tribe_organizers' => 1,
[1802] Fix | Delete
'delete_others_tribe_organizers' => 1,
[1803] Fix | Delete
'publish_tribe_organizers' => 1,
[1804] Fix | Delete
'edit_published_tribe_organizers' => 1,
[1805] Fix | Delete
'delete_published_tribe_organizers' => 1,
[1806] Fix | Delete
'delete_private_tribe_organizers' => 1,
[1807] Fix | Delete
'edit_private_tribe_organizers' => 1,
[1808] Fix | Delete
'read_private_tribe_organizers' => 1,
[1809] Fix | Delete
);
[1810] Fix | Delete
[1811] Fix | Delete
$extra_capabilities = array_merge( $extra_capabilities, $the_events_calendar );
[1812] Fix | Delete
}
[1813] Fix | Delete
[1814] Fix | Delete
return $extra_capabilities;
[1815] Fix | Delete
}
[1816] Fix | Delete
[1817] Fix | Delete
/**
[1818] Fix | Delete
* Add third party capabilities to the *Elevated* Remote Access role only
[1819] Fix | Delete
*
[1820] Fix | Delete
* @return array Capabilities to add to the Elevated Remote Access user role.
[1821] Fix | Delete
*/
[1822] Fix | Delete
public function support_user_extra_caps_elevated() {
[1823] Fix | Delete
$extra_capabilities = array();
[1824] Fix | Delete
[1825] Fix | Delete
return $extra_capabilities;
[1826] Fix | Delete
}
[1827] Fix | Delete
[1828] Fix | Delete
/**
[1829] Fix | Delete
* Create the Divi Support user (if it doesn't already exist)
[1830] Fix | Delete
*
[1831] Fix | Delete
* @since 3.20
[1832] Fix | Delete
*
[1833] Fix | Delete
* @return void|WP_Error
[1834] Fix | Delete
*/
[1835] Fix | Delete
public function support_user_maybe_create_user() {
[1836] Fix | Delete
if ( username_exists( $this->support_user_account_name ) ) {
[1837] Fix | Delete
return;
[1838] Fix | Delete
}
[1839] Fix | Delete
[1840] Fix | Delete
// Define user roles that will be used to control ET Support User permissions
[1841] Fix | Delete
$this->support_user_create_roles();
[1842] Fix | Delete
[1843] Fix | Delete
$token = $this->support_user_generate_token();
[1844] Fix | Delete
[1845] Fix | Delete
$password = $this->support_user_generate_password( $token );
[1846] Fix | Delete
[1847] Fix | Delete
if ( is_wp_error( $password ) ) {
[1848] Fix | Delete
return $password;
[1849] Fix | Delete
}
[1850] Fix | Delete
[1851] Fix | Delete
$user_id = wp_insert_user( array(
[1852] Fix | Delete
'user_login' => $this->support_user_account_name,
[1853] Fix | Delete
'user_pass' => $password,
[1854] Fix | Delete
'first_name' => 'Elegant Themes',
[1855] Fix | Delete
'last_name' => 'Support',
[1856] Fix | Delete
'display_name' => 'Elegant Themes Support',
[1857] Fix | Delete
'role' => 'et_support',
[1858] Fix | Delete
) );
[1859] Fix | Delete
[1860] Fix | Delete
if ( is_wp_error( $user_id ) ) {
[1861] Fix | Delete
return $user_id;
[1862] Fix | Delete
}
[1863] Fix | Delete
[1864] Fix | Delete
$account_settings = array(
[1865] Fix | Delete
'date_created' => time(),
[1866] Fix | Delete
'token' => $token,
[1867] Fix | Delete
);
[1868] Fix | Delete
[1869] Fix | Delete
update_option( $this->support_user_options_name, $account_settings );
[1870] Fix | Delete
[1871] Fix | Delete
// update options variable
[1872] Fix | Delete
$this->support_user_get_options();
[1873] Fix | Delete
[1874] Fix | Delete
$this->support_user_init_cron_delete_account();
[1875] Fix | Delete
}
[1876] Fix | Delete
[1877] Fix | Delete
/**
[1878] Fix | Delete
* Define both Standard and Elevated roles for the Divi Support user
[1879] Fix | Delete
*
[1880] Fix | Delete
* @since 3.22 Added filters to extend the list of capabilities for the ET Support User
[1881] Fix | Delete
* @since 3.20
[1882] Fix | Delete
*/
[1883] Fix | Delete
public function support_user_create_roles() {
[1884] Fix | Delete
// Make sure old versions of these roles do not exist
[1885] Fix | Delete
$this->support_user_remove_roles();
[1886] Fix | Delete
[1887] Fix | Delete
// Divi Support :: Standard
[1888] Fix | Delete
$standard_capabilities = array(
[1889] Fix | Delete
'assign_product_terms' => true,
[1890] Fix | Delete
'delete_pages' => true,
[1891] Fix | Delete
'delete_posts' => true,
[1892] Fix | Delete
'delete_private_pages' => true,
[1893] Fix | Delete
'delete_private_posts' => true,
[1894] Fix | Delete
'delete_private_products' => true,
[1895] Fix | Delete
'delete_product' => true,
[1896] Fix | Delete
'delete_product_terms' => true,
[1897] Fix | Delete
'delete_products' => true,
[1898] Fix | Delete
'delete_published_pages' => true,
[1899] Fix | Delete
'delete_published_posts' => true,
[1900] Fix | Delete
'delete_published_products' => true,
[1901] Fix | Delete
'edit_dashboard' => true,
[1902] Fix | Delete
'edit_files' => true,
[1903] Fix | Delete
'edit_others_pages' => true,
[1904] Fix | Delete
'edit_others_posts' => true,
[1905] Fix | Delete
'edit_others_products' => true,
[1906] Fix | Delete
'edit_pages' => true,
[1907] Fix | Delete
'edit_posts' => true,
[1908] Fix | Delete
'edit_private_pages' => true,
[1909] Fix | Delete
'edit_private_posts' => true,
[1910] Fix | Delete
'edit_private_products' => true,
[1911] Fix | Delete
'edit_product' => true,
[1912] Fix | Delete
'edit_product_terms' => true,
[1913] Fix | Delete
'edit_products' => true,
[1914] Fix | Delete
'edit_published_pages' => true,
[1915] Fix | Delete
'edit_published_posts' => true,
[1916] Fix | Delete
'edit_published_products' => true,
[1917] Fix | Delete
'edit_theme_options' => true,
[1918] Fix | Delete
'list_users' => true,
[1919] Fix | Delete
'manage_categories' => true,
[1920] Fix | Delete
'manage_links' => true,
[1921] Fix | Delete
'manage_options' => true,
[1922] Fix | Delete
'manage_product_terms' => true,
[1923] Fix | Delete
'moderate_comments' => true,
[1924] Fix | Delete
'publish_pages' => true,
[1925] Fix | Delete
'publish_posts' => true,
[1926] Fix | Delete
'publish_products' => true,
[1927] Fix | Delete
'read' => true,
[1928] Fix | Delete
'read_private_pages' => true,
[1929] Fix | Delete
'read_private_posts' => true,
[1930] Fix | Delete
'read_private_products' => true,
[1931] Fix | Delete
'read_product' => true,
[1932] Fix | Delete
'unfiltered_html' => true,
[1933] Fix | Delete
'upload_files' => true,
[1934] Fix | Delete
// Divi
[1935] Fix | Delete
'ab_testing' => true,
[1936] Fix | Delete
'add_library' => true,
[1937] Fix | Delete
'disable_module' => true,
[1938] Fix | Delete
'divi_builder_control' => true,
[1939] Fix | Delete
'divi_library' => true,
[1940] Fix | Delete
'edit_borders' => true,
[1941] Fix | Delete
'edit_buttons' => true,
[1942] Fix | Delete
'edit_colors' => true,
[1943] Fix | Delete
'edit_configuration' => true,
[1944] Fix | Delete
'edit_content' => true,
[1945] Fix | Delete
'edit_global_library' => true,
[1946] Fix | Delete
'edit_layout' => true,
[1947] Fix | Delete
'export' => true,
[1948] Fix | Delete
'lock_module' => true,
[1949] Fix | Delete
'page_options' => true,
[1950] Fix | Delete
'portability' => true,
[1951] Fix | Delete
'read_dynamic_content_custom_fields' => true,
[1952] Fix | Delete
'save_library' => true,
[1953] Fix | Delete
'use_visual_builder' => true,
[1954] Fix | Delete
'theme_builder' => true,
[1955] Fix | Delete
// WooCommerce Capabilities
[1956] Fix | Delete
'manage_woocommerce' => true,
[1957] Fix | Delete
);
[1958] Fix | Delete
[1959] Fix | Delete
// Divi Support :: Elevated
[1960] Fix | Delete
$elevated_capabilities = array_merge( $standard_capabilities, array(
[1961] Fix | Delete
'activate_plugins' => true,
[1962] Fix | Delete
'delete_plugins' => true,
[1963] Fix | Delete
'delete_themes' => true,
[1964] Fix | Delete
'edit_plugins' => true,
[1965] Fix | Delete
'edit_themes' => true,
[1966] Fix | Delete
'install_plugins' => true,
[1967] Fix | Delete
'install_themes' => true,
[1968] Fix | Delete
'switch_themes' => true,
[1969] Fix | Delete
'update_plugins' => true,
[1970] Fix | Delete
'update_themes' => true,
[1971] Fix | Delete
) );
[1972] Fix | Delete
[1973] Fix | Delete
// Filters to allow other code to extend the list of capabilities
[1974] Fix | Delete
$additional_standard = apply_filters( 'add_et_support_standard_capabilities', array() );
[1975] Fix | Delete
$additional_elevated = apply_filters( 'add_et_support_elevated_capabilities', array() );
[1976] Fix | Delete
[1977] Fix | Delete
// Apply filter capabilities to our definitions
[1978] Fix | Delete
$standard_capabilities = array_merge( $additional_standard, $standard_capabilities );
[1979] Fix | Delete
// Just like Elevated gets all of Standard's capabilities, it also inherits Standard's filter caps
[1980] Fix | Delete
$elevated_capabilities = array_merge( $additional_standard, $additional_elevated, $elevated_capabilities );
[1981] Fix | Delete
[1982] Fix | Delete
// Create the standard ET Support role
[1983] Fix | Delete
add_role( 'et_support', 'ET Support', $standard_capabilities );
[1984] Fix | Delete
$et_support_role = get_role( 'et_support' );
[1985] Fix | Delete
foreach ( $standard_capabilities as $cap ) {
[1986] Fix | Delete
$et_support_role->add_cap( $cap );
[1987] Fix | Delete
}
[1988] Fix | Delete
// Create the elevated ET Support role
[1989] Fix | Delete
add_role( 'et_support_elevated', 'ET Support - Elevated', $elevated_capabilities );
[1990] Fix | Delete
$et_support_elevated_role = get_role( 'et_support_elevated' );
[1991] Fix | Delete
foreach ( $elevated_capabilities as $cap ) {
[1992] Fix | Delete
$et_support_elevated_role->add_cap( $cap );
[1993] Fix | Delete
}
[1994] Fix | Delete
}
[1995] Fix | Delete
[1996] Fix | Delete
/**
[1997] Fix | Delete
* Remove our Standard and Elevated Support roles
[1998] Fix | Delete
*
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function