text:
Q: Custom WooCommerce Shipping Method I have this working code which generating and saving properly a custom shipping method under woocommerce setting > shipping zones.
My problem is that I can't make the shipping method show on the checkout page.
Any help on how to resolve this issue and maybe extend the code a bit would be greatly appreciated.
add_filter('woocommerce_shipping_methods', 'add_local_shipping');
function add_local_shipping($methods) {
    $methods['local_shipping'] = 'Local_Shipping_Method';
    return $methods;
}

class Local_Shipping_Method extends WC_Shipping_Method {

            public function __construct($instance_id = 0) {
                $this->id = 'local_shipping';
                $this->instance_id = absint($instance_id);
                $this->domain = 'local_shipping';
                $this->method_title = __('Pickup', $this->domain);
                $this->method_description = __('Pickup Location for WooCommerce', $this->domain);
                $this->title = __('Pickup Location', $this->domain);
                $this->supports = array(
                    'shipping-zones',
                    'instance-settings',
                    'instance-settings-modal',
                );

                $this->instance_form_fields = array(
                    'enabled' => array(
                    'title'         => __( 'Enable/Disable' ),
                    'type'          => 'checkbox',
                    'label'         => __( 'Enable this shipping method' ),
                    'default'       => 'yes',
                ),
                    'title' => array(
                    'title'         => __( 'Method Title' ),
                    'type'          => 'text',
                    'description'   => __( 'This controls the title which the user sees during checkout.' ),
                    'default'       => __( 'Pickup Location' ),
                    'desc_tip'      => true
                ),
                    'tax_status' => array(
                    'title'   => __( 'Tax status', 'woocommerce' ),
                    'type'    => 'select',
                    'class'   => 'wc-enhanced-select',
                    'default' => 'taxable',
                    'options' => array(
                        'taxable' => __( 'Taxable', 'woocommerce' ),
                        'none'    => _x( 'None', 'Tax status', 'woocommerce' ),
                    ),
                ),
                    'cost'       => array(
                    'title'       => __( 'Cost', 'woocommerce' ),
                    'type'        => 'text',
                    'placeholder' => '0',
                    'description' => __( 'Optional cost for pickup.', 'woocommerce' ),
                    'default'     => '',
                    'desc_tip'    => true,
                ),
            );

                $this->enabled = $this->get_option( 'enabled' );
                $this->title   = __('Pickup Location', $this->domain);

                add_action('woocommerce_update_options_shipping_' . $this->id, array($this, 'process_admin_options'));
            }

    public function calculate_shipping( $package = array() ) {
        $this->add_rate( array(
            'id'    => $this->id . $this->instance_id,
            'label' => $this->title,
            'cost'  => 0,
    ) );
    }
}

A: The way you have tried it is wrong. And it's not recommended to keep the text domain in a variable or a method.
To Create a Custom Shipping Method You have to follow these steps I have corrected on your code.
Hope this helps. You can learn more about how to create new shipping method here. Feel free
// To initialize your new shipping method you have to keep it in function
function local_shipping_init() {
    if ( ! class_exists( Local_Shipping_Method ) ) {
        class Local_Shipping_Method extends WC_Shipping_Method {

            public function __construct( $instance_id = 0 ) {
                $this->id                 = 'local_shipping';
                $this->instance_id        = absint( $instance_id );
                $this->method_title       = __( 'Pickup', 'text-domain' );
                $this->method_description = __( 'Pickup Location for WooCommerce', 'text-domain' );
                $this->title              = __( 'Pickup Location', 'text-domain' );
                $this->supports           = array(
                    'shipping-zones',
                    'instance-settings',
                    'instance-settings-modal',
                );

                // then you have to call this method to initiate your settings
                $this->init();
            }

            public function init() {
                // this method used to initiate your fields on settings
                $this->init_form_fields();
                // this is settings instance where you can declar your settings field
                $this->init_instance_settings();

                // user defined values goes here, not in construct
                $this->enabled = $this->get_option( 'enabled' );
                $this->title   = __( 'Pickup Location', 'text-domain' );

                // call this action in init() method to save your settings at the backend
                add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) );
            }

            public function init_instance_settings() {
                // you have to keep all the instance settings field inside the init_instance_settings method
                $this->instance_form_fields = array(
                    'enabled'    => array(
                        'title'   => __( 'Enable/Disable' ),
                        'type'    => 'checkbox',
                        'label'   => __( 'Enable this shipping method' ),
                        'default' => 'yes',
                    ),
                    'title'      => array(
                        'title'       => __( 'Method Title' ),
                        'type'        => 'text',
                        'description' => __( 'This controls the title which the user sees during checkout.' ),
                        'default'     => __( 'Pickup Location' ),
                        'desc_tip'    => true
                    ),
                    'tax_status' => array(
                        'title'   => __( 'Tax status', 'woocommerce' ),
                        'type'    => 'select',
                        'class'   => 'wc-enhanced-select',
                        'default' => 'taxable',
                        'options' => array(
                            'taxable' => __( 'Taxable', 'woocommerce' ),
                            'none'    => _x( 'None', 'Tax status', 'woocommerce' ),
                        ),
                    ),
                    'cost'       => array(
                        'title'       => __( 'Cost', 'woocommerce' ),
                        'type'        => 'text',
                        'placeholder' => '0',
                        'description' => __( 'Optional cost for pickup.', 'woocommerce' ),
                        'default'     => '',
                        'desc_tip'    => true,
                    ),
                );
            }

            public function calculate_shipping( $package = array() ) {
                $this->add_rate( array(
                    'id'    => $this->id, // you should define only your shipping method id here
                    'label' => $this->title,
                    'cost'  => 0,
                ) );
            }
        }
    }

}
add_action( 'woocommerce_shipping_init', 'local_shipping_init' ); // use this hook to initialize your new custom method

function add_local_shipping( $methods ) {
    $methods['local_shipping'] = 'Local_Shipping_Method';

    return $methods;
}
add_filter( 'woocommerce_shipping_methods', 'add_local_shipping' );

The code is tested and works fine. See the screenshot below.


text:
Q: Cannot set non-existant property PMD sonarqube plugin I have created a custom plugin for sonarqube version 4.5.1. This plugin contains a new custom rule, based on PMD. I have followed some examples (https://github.com/SonarSource/sonar-examples/tree/master/plugins) for develop this plugin in correct way, but all time i build the project that I have to check with sonar, i have the same error: java.lang.IllegalArgumentException: Cannot set non-existant property 'maxAuthorisedMethodsCount' on Rule MaximumMethodsCountCheckRule
My Sonar installation have also installed the sonar-pmd-plugin v2.2 and sonar-java-plugin v2.4.
Below the code that generates error
extensions.xml
<?xml version="1.0" encoding="UTF-8"?>
<rules>
    <rule>
    <key>MaximumMethodsCount</key>
    <name>Maximum Methods Count Check</name>
    <description>Massimo numero di metodi autorizzati per classe</description>

    <!-- path to definition -->
    <configKey>rulesets.xml/MaximumMethodsCountCheckRule</configKey>

    <!-- Default priority ("severity"). It can be changed while activating the rule in Quality profile -->
    <!-- Possible values are: INFO, MINOR, MAJOR, CRITICAL, BLOCKER. Default value is MAJOR -->
    <priority>MAJOR</priority>

    <!-- parameters available in administration console of Quality profiles -->
    <param>
      <key>maxAuthorisedMethodsCount</key>
      <description>Numero massimo di metodi autorizzati per classe</description>
       <!-- default value is optional -->
      <defaultValue>4</defaultValue>
    </param>

  </rule>

</rules>

rulesets.xml
<?xml version="1.0"?>
<ruleset name="Custom ruleset"
    xmlns="http://pmd.sf.net/ruleset/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
    xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">

    <description>
        sonar plugin rulesets
    </description>

    <rule name="MaximumMethodsCountCheckRule"
          message="Superato Numero massimo di metodi autorizzati per classe. Trovati {0} metodi!"
          class="alm.plugin.rules.MaximumMethodsCountCheck">

      <description>
        Numero massimo di metodi autorizzati per classe
      </description>

      <priority>3</priority>

      <properties>
        <property name="maxAuthorisedMethodsCount" description="Maximum number of methods authorised">
        </property>
      </properties>
      <example>
        <![CDATA[
                //Troppi metodi!
                public void metodo1(){}
                public void metodo2(){}
                public void metodo3(){}
                public void metodo4(){}
                .....
                public void metodo14(){}
        ]]>
      </example>
    </rule>
</ruleset>

MaximumMethodsCountCheck.java
import java.util.List;

import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceBody;
import net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration;
import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
import net.sourceforge.pmd.lang.rule.properties.IntegerProperty;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.api.Property;

public class MaximumMethodsCountCheck extends AbstractJavaRule {

    Logger logger = LoggerFactory.getLogger(getClass());

    private static final IntegerProperty propertyDescriptor = new IntegerProperty("maxAuthorisedMethodsCount", "Massimo numero di metodi", 0, 2, 4, 1.0f);

    @Override
    public Object visit(ASTClassOrInterfaceBody node, Object data) {
        logger.info("---Analisi con MaximumMethodsCountCheck---");
        List<ASTMethodDeclaration> metodi = node.findChildrenOfType(ASTMethodDeclaration.class);
        if(metodi.size() > getProperty(propertyDescriptor)){
            addViolation(data, node, ""+metodi.size());
        }
        return super.visit(node, data);
    }
}

pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ALM-soanrqube-plugin</groupId>
  <artifactId>ALM-soanrqube-plugin</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>sonar-plugin</packaging>

  <name>SONARQUBE PLUGIN</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

    <dependencies>
        <dependency>
            <groupId>org.codehaus.sonar</groupId>
            <artifactId>sonar-plugin-api</artifactId>
            <version>4.2</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.sonar-plugins.java</groupId>
            <artifactId>sonar-java-plugin</artifactId>
            <type>sonar-plugin</type>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.pmd</groupId>
            <artifactId>pmd</artifactId>
            <version>5.1.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>sonar-maven-plugin</artifactId>
          <version>2.4</version>
          <type>maven-plugin</type>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.sonar</groupId>
                <artifactId>sonar-packaging-maven-plugin</artifactId>
                <version>1.9</version>
                <extensions>true</extensions>
                <configuration>
                    <pluginClass>alm.plugin.PmdExtensionPlugin</pluginClass>
                    <basePlugin>pmd</basePlugin>
                    <pluginDescription>PlugIn per Sonar</pluginDescription>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <!-- UTF-8 bundles are not supported by Java, so they must be converted during build -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>native2ascii-maven-plugin</artifactId>
                <version>1.0-beta-1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>native2ascii</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Anyone have any idea on how to fix the error ? Please Help! Thank you very much!!!

A: You need to call definePropertyDescriptor(propertyDescriptor) in the constructor of your MaximumMethodsCountCheck class.
(I figured this out by looking at some of the provided rules which have properties, for example NPathComplexityRule)

redpajama_set_name: RedPajamaStackExchange


text:
Q: Show that a recurrence relation is bounded I'm studying the following recursive equation as part of my Economics class:
$$k_{t+1}={k_t}^\alpha - c_t$$
For $t=0,1,2,...$, $0\leq \alpha<1$, and  $k_0>0$ and $c_t\geq 0$ for every $t$. I need to show that there is a $\hat{K}$ such that $\hat{K}\geq k_t$ for every $t$.
I tried taking $t=0$ and $c_t=0$, but that didn't help cause I only got:
$$k_{t+1} \leq {k_t}^{\alpha} \leq ... \leq {k_1}^{(t-1)\alpha} \leq {k_0}^{t\alpha} $$
What would you suggest?

A: The case when $c_t=0$ for all $t$ gives $k_t={k_0}^{\alpha^t}$. For $k_0<1$, the sequence is increasing but is bounded by 1. Otherwise the sequence is decreasing and is bounded by $k_0$.
The case when when $c_t \geq 0$ for all $t$ can run into trouble if $k_t$ ever becomes negative since powers can be complex. Assuming $k_t \geq 0$, the sequence can be bounded by a different sequence from the first case. Define $h_0=k_0$ and $h_{t+1}={h_t}^{\alpha}$. Since $c_t \geq 0$, $k_t \leq h_t$ for all $t$.


text:
Q: i want to make a multiply inside loop,but the value not increasing i have a homework like this
Imaginative Tree
An imaginative tree grows in a garden. The tree only grows 1 m long in autumn and 2 times the height of the tree in spring. Make a program that determines the highest tree after Y years with the initial height X m.
in 1 year spring come first
i've tried to put multiple symbol inside the loop,
 <?php
 $holddata =0;
 $length =0
 function randomtree($year,$firstlength){
  for ($i=0; $i < $year ; $i++) {

      $holddata= $firstlength* 2;
      $length= $holddata+1;

  }
  echo $length;
  }
  echo randomtree(2,3);

but the value not increasing ,i expected the $firstlength*2 and add 1 on it then loop them 2 times so the result will be 15 ,( 3*2+1=7 ,7*2+1=15)

A: You need to use the value of $firstlength as the basis of the start of each calculation and assign the result to it for the next iteration.  This code also returns the result rather than echoing out out.
So to simplify your code you can use...
function randomtree($year,$firstlength){
    for ($i=0; $i < $year ; $i++) {
        $firstlength = ($firstlength* 2)+1;
    }
    return $firstlength;
}
echo randomtree(2,3);


text:
Q: IronSource Rewards video load I'm using IronSource for mediating rewards video. The first time it works OK but there's no way of loading the reward video second time without killing the app.
I checked their SDK and there's no loadReward or requestReward in their API. The first video loads automatically when IronSource.init(context, mAppKey, IronSource.AD_UNIT.REWARDED_VIDEO) is called.
How can I load the second reward video?

A: Try checking the capping and pacing settings - that could be why you're having issues.
You can also use:
boolean available = IronSource.isRewardedVideoAvailable();

to check if you have availability for rewarded video.


text:
Q: How can i test my DB speed? (Learning) I have design a database. Theres no columns with indexing, nor any code for optimizing. I am positive i should index certain columns since i search them a lot.
My question is HOW do i test if any part of my database will be slow? ATM I am using sqlite and i will be switching to either MS Sql or MySql based on my host provider. Will creating 100,000 records in each table be enough? Or will that always be fast in sqlite and i need to do 1mil? Do i need 10mil before a database will become slow?
Also how do i time it? I am using C# so should i use StopWatch or is there a ADO.NET/Sqlite function i should use?

A: Its really a question of monitoring things over time as optimal execution plans will change as you add more data. If you want to test then 10 million rows should be adequate to make most performance issues visible but you will also need to try and populate the test data with the same cardinality characteristics as the real data will have. SQL Server has lots of performance monitoring functionality built in (Dynamic Management Views, XEvents, SQL Trace/Profiler) but I'm not sure how much you would be able to access if you are on a hosted solution. For monitoring performance outside the database ADO.NET supports tracing but I've never used it myself.

A: About your second question SqlLite is almost always faster than MsSql since your database in SqlLite is in memory as in MsSql your database is on a hard disk


text:
Q: pyQt Timer Not Working for Updating Label I wanted to make a simple stopwatch, so I set up a button to turn on the a timer to update the time label. When I press the button tied to the timer, it doesn't do anything except for print out my start_pause message. I've tried multiple different things, but none of my approaches seemed to have worked. front_basic_timer_ui is the GUI side of the code.
import front_basic_timer_ui
import datetime
import sys

from PyQt4 import QtCore, QtGui

if __name__ == "__main__":

    app = QtGui.QApplication(sys.argv)

    def update_label():
        gui.label.setText("update")
    def stop_timer():
        print("stop")
    def save_timer_log():
        print("save")
    def start_pause_timer(self):
        print("start_pause")
        #global set_time
        #set_time = datetime.datetime.today()
        timer = QtCore.QTimer()
        timer.timeout.connect(update_label)
        timer.start(100)
    #Set the window from imported front_basic_timer_ui
    gui_plot = front_basic_timer_ui.QtGui.QMainWindow()
    gui = front_basic_timer_ui.Ui_MainWindow()
    gui.setupUi(gui_plot)

    #Set buttons
    gui.pushButton.clicked.connect(save_timer_log)
    gui.pushButton_2.clicked.connect(stop_timer)
    gui.pushButton_3.clicked.connect(start_pause_timer)

    gui_plot.show()
    sys.exit(app.exec_())


text:
Q: How to skip the error on duplicate indexes and continue adding documents further in MongoDB(pymongo) I am loading data from csv file into mongoDB. First, I downloaded one document to set the collection indexes. It worked.
Now I load the rest of the documents and I have a line that is duplicated i.e. it is already in the database and is in my document. I get error 11000, how to get around it, skip the duplicate line and load the next lines?
A small part of my file, it is updated every day and needs to be imported into the database
    date        confirmed   deaths  recovered   region_code isolation_start       level
0   2021-01-23  12638.0    113.0    10710.0     RU-AD       16.07.2020 21:58:11   3.0
1   2021-01-23  37509.0    1106.0   34026.0     RU-ALT      25.09.2020 10:16:19   3.0
2   2021-01-23  18698.0    130.0    16809.0     RU-AMU      21.08.2020 09:22:04   2.0
3   2021-01-23  49257.0    458.0    41291.0     RU-ARK      31.07.2020 08:45:20   2.0
4   2021-01-23  23072.0    467.0    14547.0     RU-AST      23.06.2020 14:29:27   2.0

Fields must be set as indices: date, region_code
My attempts
    def Insert(self, path=None, parse_dates=None, dtype=None, skiprows=None, astype=None):

        for df in tqdm(range(1)):
            df = pd.read_csv(path)
            data = df.to_dict('records')
        self.collection.create_index(('date', 'region_code'),unique=True)
        self.collection.insert_many(data)

if __name__ == "__main__":
    mongodb = MongoDB(dBName='test_import', collectionName='myimport2')
    mongodb.Insert(path="C:/Users/tred1/Desktop/aggregation_RU_last_day.csv")

I get this error
BulkWriteError: batch op errors occurred, full error: {'writeErrors': [{'index': 0, 'code': 11000, 'keyPattern': {'date': 1},
'keyValue': {'date': '2021-01-23'}, 'errmsg': 'E11000 duplicate key error collection: test_import.myimport2 index: date_1 dup key: { date: "2021-01-23" }',
 'op': {'date': '2021-01-23', 'confirmed': 12638.0, 'deaths': 113.0, 'recovered': 10710.0, 'region_name': 'Республика Адыгея', 'region_code': 'RU-AD', 'isolation_start': '16.07.2020 21:58:11', 'level': 3.0, 'self_isolation': nan,
 '_id': ObjectId('60117910ae27c82c91526449')}}], 'writeConcernErrors': [], 'nInserted': 0, 'nUpserted': 0, 'nMatched': 0, 'nModified': 0, 'nRemoved': 0,
 'upserted': []}

How to add it to the exception? Probably simple, but can't find it in the documentation

A: Two choices:

*

*Iterate the data, use insert_one() on each, wrapped in a try/except; ignoring BulkWriteError

*Stick with insert_many() and use the ordered=False flag.


text:
Q: animating a div to slide from right side I am a beginner in web designing. i have a navigation bar on right side. i have defined class for li. i want all my li to animate and appear from right side.
i am unable to do that. need some help. my html and css code are.
<!doctype html>

<link rel="stylesheet" href="index.css">

<title>Demo</title>

css code for li are
ul {
list-style-type: none;
margin: 0;
padding: 0;
float: right;
}
li {
margin: 0;
padding: 0;
margin-bottom: 20px;
}
nav {
float: right;
width: 400px;
height: 500px;
margin-top: 35px;
margin-right: 10px;
background-color: #ffffff;
}
.content-box-blue {
background-color: #00bfff;
border: 1px solid #afcde3;
height: 50px;
width: 0px;
margin-left: 50px;
border-top-left-radius: 8% 50%;
border-bottom-left-radius: 8% 50%;
}
.content-box-gray {
background-color: #FF69B4;
border: 1px solid #bdbdbd;
height: 50px;
width: 0px;
margin-left: 150px;
border-top-left-radius: 12% 50%;
border-bottom-left-radius: 12% 50%;
}
.content-box-green {
background-color: #3CB371;
border: 1px solid #b2ce96;
height: 50px;
width: 0px;
margin-left: 100px;
border-top-left-radius: 9% 50%;
border-bottom-left-radius: 9% 50%;
}
.content-box-purple {
background-color:#9370DB;
border: 1px solid #bebde9;
height: 50px;
width: 0px;
margin-left: 0px;
border-top-left-radius: 6% 50%;
border-bottom-left-radius: 6% 50%;
}
.content-box-red {
background-color: #FF0000;
border: 1px solid #e9b3b3;
height: 50px;
width: 0px;
margin-left: 200px;
border-top-left-radius: 13% 50%;
border-bottom-left-radius: 13% 50%;
}
.content-box-yellow {
background-color: #FFA500;
border: 1px solid #fadf98;
height: 50px;
width: 0px;
margin-left: 150px;
border-top-left-radius: 12% 50%;
border-bottom-left-radius: 12% 50%;
}

A: You can do a float right on
's
here's a demo

A: Change all border-left-radius to right radius and float:left to right
ul {
list-style-type: none;
margin: 0;
padding: 0;
float: left;
}
li {
margin: 0;
padding: 0;
margin-bottom: 20px;
}
nav {
float: left;
width: 400px;
height: 500px;
margin-top: 35px;
margin-right: 10px;
background-color: #ffffff;
}
.content-box-blue {
background-color: #00bfff;
border: 1px solid #afcde3;
height: 50px;
width: 0px;
margin-right: 50px;
border-top-right-radius: 8% 50%;
border-bottom-right-radius: 8% 50%;
}
.content-box-gray {
background-color: #FF69B4;
border: 1px solid #bdbdbd;
height: 50px;
width: 0px;
margin-right: 150px;
border-top-right-radius: 12% 50%;
border-bottom-right-radius: 12% 50%;
}
.content-box-green {
background-color: #3CB371;
border: 1px solid #b2ce96;
height: 50px;
width: 0px;
margin-right: 100px;
border-top-right-radius: 9% 50%;
border-bottom-right-radius: 9% 50%;
}
.content-box-purple {
background-color:#9370DB;
border: 1px solid #bebde9;
height: 50px;
width: 0px;
margin-left: 0px;
border-top-right-radius: 6% 50%;
border-bottom-right-radius: 6% 50%;
}
.content-box-red {
background-color: #FF0000;
border: 1px solid #e9b3b3;
height: 50px;
width: 0px;
margin-right: 200px;
border-top-right-radius: 13% 50%;
border-bottom-right-radius: 13% 50%;
}
.content-box-yellow {
background-color: #FFA500;
border: 1px solid #fadf98;
height: 50px;
width: 0px;
margin-right: 150px;
border-top-right-radius: 12% 50%;
border-bottom-right-radius: 12% 50%;
}

DEMO

A: Add following css in your stylesheet.
li{
    clear:right;
    float: right;
}


text:
Q: What our students have to say. Grammar question I often hear the phrase "what our students have to say" in testimonials, and I am confused with the grammar here.
It can be taken in two ways as follows.
1) Our students have something (what) to say
2) Our students have to say something (what).
I think 2) is more likely it since it sounds like an honest opinion.
Could anyone give some insights into this?

A: You're talking about two meanings of have.  The first is to hold or possess, and idiomatically we talk about holding an opinion as "having something to say."  The second is to be under complusion, as in

I have to go to the dentist today.

So, you're right:

Let's listen to what our students have to say

can have (see what I did there?) two meanings, either let's listen to our students' own opinions or let's listen to them parrot what they've been told to say.

A: Let's listen to what our students have to say. =
Let's hear opinions/testimonials from our students.
( 'have' is the verb, and 'to' is part of the infinitive of the next verb.)
For example:What do we have to eat?, meaning, What food is there available to eat?